จะติดตั้ง Python เวอร์ชั่นล่าสุดบน Debian แยกกันหรืออัพเกรดได้อย่างไร?


35

ฉันยังใหม่กับ Linux ดังนั้นฉันยังคงพยายามที่จะเข้าใจว่า executables และไลบรารีของพวกเขาอยู่ที่ไหนและจะติดตั้งแพ็คเกจได้อย่างไรดังนั้นฉันจึงมี Debian Wheezy 7.3 ซึ่งมี Python เวอร์ชันเหล่านี้:

  • Python 2.7.3 (ค่าเริ่มต้น)
  • Python 2.6.8

ดังนั้นในไดเรกทอรี/usr/bin/มีไฟล์เหล่านี้ที่ฉันสามารถโทรจาก terminal:

  • python (ซึ่งเป็นลิงค์ไปยัง python2.7)
  • python2 (ลิงก์ไปยัง python2.7 ด้วย)
  • python2.6 (ปฏิบัติการ Python 2.6.8)
  • python2.7 (ปฏิบัติการ Python 2.7.3)

และใน/usr/lib/โฟลเดอร์หลัก:

  • python2.6
  • python2.7

ปัจจุบันเวอร์ชันล่าสุดของ Python คือ 2.7.6 ที่ฉันต้องการติดตั้ง แต่ฉันไม่รู้ว่าอย่างไรฉันลองใช้ apt-get:

apt-get install python

มันออกpython is already the newest version.มา

ดังนั้นฉันจะติดตั้ง Python เวอร์ชันล่าสุดได้อย่างไร ในหน้าดาวน์โหลด Pythonมี tarball ต้นทางฉันจะใช้มันอย่างไรเพื่อติดตั้งแยกต่างหากเหมือนมีโฟลเดอร์อื่นอยู่/usr/lib/เหมือนกันpython2.7.6และสร้างpythonลิงก์/usr/bin/ให้ชี้ไปที่ไฟล์ปฏิบัติการใหม่หรืออาจอัปเกรดเวอร์ชันปัจจุบันหากไม่ทำลายอะไรเลย .


คุณสามารถ backport Python 2.7.6 จากการทดสอบ / ไม่เสถียรและแทนที่ curent 2.7.3 ของคุณด้วย สิ่งนี้มักจะไม่ทำให้คุณเกิดปัญหาใด ๆ หากเป็นเช่นนั้นคุณสามารถเปลี่ยนกลับได้อย่างง่ายดาย
Faheem Mitha

ฉันไม่ได้ติดตั้งติดตั้งใหม่ของ Debian และพิมพ์ "python" จากบรรทัดคำสั่งและฉันอยู่ใน python3 shell
Frozenjim

คำตอบ:


16

คุณอาจกำลังมองหาvirtualenvหรือวิธีpyenvอื่นที่ไม่ใช่ระบบเพื่อติดตั้ง Python วิธีการใช้ APT (Advance Package Tool) และdpkgทำให้มั่นใจได้ว่าทุกส่วนของระบบทำงานได้อย่างกลมกลืนดังนั้นคุณอาจต้องการติดตั้งไพ ธ อนในเส้นทางที่แยกจากกันซ่อนโปรแกรมอื่น ๆ ทั้งหมดที่คุณสามารถเรียกได้ตามต้องการซึ่งเป็น จุดประสงค์ของpyenv/ virtualenv. นี้จะตอบวิธีการติดตั้งรุ่นล่าสุดของงูหลามโดยไม่ทำลายระบบ

BTW คุณสามารถตรวจสอบเวอร์ชันล่าสุดของ python ที่ Debian in madisonในขณะที่ python 2 รุ่นล่าสุด ณ วันนั้นคือรุ่นที่คุณชี้ไป:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew ไม่ได้รับการดูแลรักษาอีกต่อไป)


ตกลงฉันติดตั้ง pip และ virtualenv เป็น root ดังนั้นฉันจะสร้างสภาพแวดล้อมเสมือนด้วย Python เวอร์ชันใหม่ได้อย่างไร เท่าที่ฉันรู้ว่าเราต้องการเวอร์ชั่นใหม่ที่จะติดตั้งก่อนใช่มั้ย
ปิแอร์

1
@ Peter pyenv install 2.7.6ผมคิดว่าขั้นตอนแรกคือ คุณสามารถตรวจสอบทุกรุ่นได้โดยใช้pyenv install -l
Braiam

27

ตกลงหลังจากการค้นหามากมายฉันตัดสินใจสร้าง Python จากซอร์สดังนั้นฉันดาวน์โหลด tarball ซอร์สที่บีบอัดจากเพจดาวน์โหลด Pythonตอนนี้เราต้องติดตั้งbuild-essentialแพ็กเกจเพื่อรวบรวมไฟล์ต้นฉบับ:

apt-get install build-essential

เราจำเป็นต้องติดตั้งแพ็คเกจการพัฒนาซึ่งจำเป็นสำหรับโมดูล Python บางตัว:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

ต่อไปเราแยกไฟล์ต้นฉบับที่ดาวน์โหลดมา:

tar zxf Python-2.7.6.tgz

จากนั้นเราcdไปยังไดเรกทอรีที่ถูกแยก:

cd Python-2.7.6

และทำตามคำแนะนำในเอกสาร Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

ฉันเลือกที่จะติดตั้งภายใต้ไดเรกทอรี/opt/pythonที่ฉันสร้างไว้ก่อนหน้านี้ฉันยังใช้แพคเกจcheckinstallเพื่อสร้างไฟล์. deb เพื่อให้ฉันสามารถถอนการติดตั้งได้อย่างง่ายดายในภายหลังดังนั้นเราจึงติดตั้งก่อน:

apt-get install checkinstall

และแทนที่บรรทัดสุดท้ายmake installด้วย:

checkinstall

ตอนนี้ผมมีการติดตั้งหลามใหม่และแฟ้มไบนารีอยู่ใน/opt/python/lib/python2.7/opt/python/bin/python2.7

ตอนนี้ผมสามารถทำงานในบรรทัดคำสั่งที่จะใช้รุ่นนี้งูใหญ่ยังทำให้เราสามารถสร้างการเชื่อมโยงไปปฏิบัติการนี้ดังนั้นเราจึงไม่พิมพ์เส้นทางแบบเต็มฉันชื่อว่า/opt/python/bin/python2.7python2.7.6

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

นอกจากนี้ไดเรกทอรี/opt/python/binจะมีไฟล์ปฏิบัติการอื่น ๆ ที่ตามมาเช่นpipและvirtualenvหรือโมดูลอื่น ๆ ที่คุณติดตั้งเพื่อให้เราสามารถเพิ่มลงในตัวแปรสภาพแวดล้อม PATH แก้ไข~/.profileและเพิ่มบรรทัดนี้:

PATH="$PATH:/opt/python/bin"

และเรียกใช้:

source ~/.profile

ฉันผนวกเส้นทางไปยังจุดสิ้นสุดเพราะมันมีชื่อปฏิบัติการเช่นคนใน/usr/binเช่นpython, python2และดังนั้นเราจึงให้ความสำคัญสูงสำหรับpython2.7/usr/bin


ทีนี้คุณจะรู้วิธีกำหนดค่าไพ ธ อนใหม่ของคุณเพื่อดูโมดูลที่ติดตั้งผ่าน apt-get หรือไม่?
ลูโด

แต่น่าเสียดายสำหรับ Python 2.6 รวบรวมจากแหล่งที่ไม่ได้ทำงานอย่างถูกต้องใน Debian 8 (เจสซี) แต่ผมพบว่าอย่างน้อยสำหรับราสเบอร์รี่ Pi ที่ฉันก็สามารถที่จะใช้แพคเกจเก่าจากpackages.debian.org คำสั่งสมมติว่า build-essentials มีอยู่แล้วสิ่งที่ต้องการเช่น libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev แต่dpkg -iจะบอกสิ่งที่จำเป็น
Charlie Clark

1
@elsurudo นั่นคงไม่สมเหตุสมผลจริงๆเพราะโมดูลอาจไม่ได้รับการสนับสนุนในเวอร์ชั่นใหม่ของคุณ หากคุณต้องการควบคุม Python ของคุณอย่างเต็มที่ (เช่นเดียวกับเมื่อรวบรวมจากแหล่งที่มา) คุณจะต้องติดตั้งโมดูลแยกต่างหากเช่นกัน
tripleee

-1

คุณสามารถใช้ได้:

aptitude install python3.5  

หรือถ้าคุณยังไม่ได้ติดตั้งความสามารถคุณสามารถติดตั้งโดยใช้:

apt-get install aptitude
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.