ติดตั้งหลามรุ่นใหม่กว่าและเก่ากว่าบนเดเบียน?


12

ฉันจะติดตั้งไพ ธ อนรุ่นพิเศษบน Debian (jessie) ได้อย่างไร บน Ubuntu ฉันสามารถใช้ PPA "deadsnakes" ซึ่งจะให้เวอร์ชั่นหลามที่ฉันต้องการด้วยชื่อเวอร์ชันในคำสั่ง (เช่นpython33สำหรับ Python 3.3) สิ่งนี้ทำให้ฉันสามารถติดตั้งพวกเขาทั้งหมดข้างกัน ฉันสามารถใช้ virtualenvs เพื่อติดตั้งแพ็กเกจหลามเฉพาะสำหรับเวอร์ชันเฉพาะโดยไม่ต้องยุ่งกับแพ็คเกจระบบ ฉันดูแลห้องสมุดไพ ธ อนบางส่วนและพวกเขาจำเป็นต้องทำงานกับหลามหลายเวอร์ชัน ถ้าฉันติดตั้งไพ ธ อนของไบนารีแล้วพิษจะดูแลการใช้ virtualenvs สำหรับแต่ละไพ ธ อน

อะไรคือเดเบียนที่เทียบเท่า PPA ของเดเบียน?

UPDATEฉันต้องการติดตั้ง python: 2.6, 2.7, 3.3, 3.4 และ 3.5


คุณสามารถระบุเวอร์ชันของ Python ที่คุณต้องการติดตั้งได้หรือไม่? ฉันคิดว่า Jessie มีรุ่นที่แตกต่างกันเล็กน้อย
Faheem Mitha

ในความคิดของฉันคุณน่าจะดีกว่าเพียงแค่ติดตั้ง Python เวอร์ชั่นต่าง ๆ จากแหล่งที่มา
Celada

คำตอบ:


9

ใช้ PPA

คุณสามารถใช้ PPA ใน Debian เลือกรุ่น Ubuntuที่มาจากรุ่นก่อนหน้ารุ่น Debian ของคุณเล็กน้อยและควรมีไลบรารีที่จำเป็นทั้งหมด สำหรับเสียงฮืด ๆ PPA Oneiric ดูเหมือนจะโอเค (แต่มันขาดเวอร์ชัน Python ที่ใหม่กว่า) สำหรับเจสซี PPA ที่ไว้ใจได้ควรทำงานได้

หากต้องการเพิ่ม PPA บน Debian ให้สร้างไฟล์/etc/apt/sources.list.d/deadsnakes.listที่มี

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

ดาวน์โหลดที่สำคัญการลงนามสัญญาซื้อขายไฟฟ้ากับ

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

จากนั้นเพิ่มคีย์ไปยังฐานข้อมูลคีย์ APT ด้วย

gpg --export DB82666C | sudo apt-key add -

ในที่สุดเรียกใช้apt-get updateและติดตั้งแพคเกจที่ต้องการ

หากคุณไม่สามารถทำให้ PPA ทำงานได้ด้วยเหตุผลบางอย่าง (บางทีคุณอาจไม่สามารถหารุ่นที่ใช้งานได้กับไลบรารี่ที่คุณมี) คุณสามารถดาวน์โหลดซอร์สและคอมไพล์ไฟล์เหล่านั้นใหม่สำหรับการแจกจ่ายของคุณได้

การใช้ระบบ chrooted

สิ่งที่ฉันมักจะทำเพื่อทดสอบความเข้ากันได้กับรุ่นอื่นคือการรันรุ่นเก่าหรือรุ่นใหม่กว่าในระบบchrooted ตัวอย่างเช่นคุณสามารถติดตั้ง Ubuntu รุ่นต่างๆด้วยรุ่น Python ที่คุณสนใจหรือคุณสามารถติดตั้ง trusty ใน chroot และติดตั้ง PPA ได้ สำหรับข้อมูลเพิ่มเติมโปรดดูที่คู่มือ schroot ของฉัน


1
คุณควรหลีกเลี่ยงการใช้ Ubuntu PPAs บน Debian เนื่องจากอาจทำให้เกิดปัญหาหรือข้อขัดแย้งอื่น ๆ (เป็นไปได้ที่จะใช้สภาพpyenvแวดล้อมเสมือนจริงสำหรับงูหลามหลายรุ่น)
Thomas Ward

ฉันสามารถยืนยันได้ว่าฉันได้ติดตั้งpython 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 และ 3.6ในการทดสอบ debianปัจจุบันโดยใช้วิธีการนี้ ข้อแม้เดียวที่ฉันมาข้ามคือการที่ฉันต้องการที่จะขุดขึ้นมารุ่นเก่าlibssl1.0.0ซึ่งผมพบว่าที่นี่: packages.debian.org/jessie/libssl1.0.0 ฉันยังใช้แพ็คเกจ xenial (16.04) เวอร์ชัน (lts ปัจจุบัน) แม้ว่าฉันเชื่อว่า trusty ยังใช้งานได้
Att Righ

1

ฉันจะบอกว่าไม่มี Debian เทียบเท่ากับ PPA deadsnakes ของ Ubuntu

ภายใต้ Debian ไม่แนะนำให้ใช้แพ็คเกจหรือที่เก็บของ Ubuntu เนื่องจากโพสต์นี้ปรากฏในเครื่องมือค้นหาฉันเสนอคำตอบที่อันตรายน้อยกว่าสำหรับระบบ Debian

การติดตั้ง Python นั้นเป็นไปได้ ตัวอย่างเช่นคุณสามารถใช้คำแนะนำต่อไปนี้เพื่อติดตั้งเวอร์ชัน 3.5.2

ข้อกำหนดเบื้องต้น

ติดตั้งการพึ่งพา:

sudo apt-get update && sudo apt-get install libssl-dev openssl

อาคารไพ ธ อน

คุณสามารถสร้าง Python ในโฟลเดอร์เฉพาะโดยใช้--prefixพารามิเตอร์จากconfigureคำสั่ง:

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

แทนที่จะ/usr/localสามารถใช้ไดเรกทอรีพื้นฐานอื่นได้ ตัวอย่างเช่น:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

การเลือกเวอร์ชั่นหลาม

การใช้ตัวแปรสภาพแวดล้อม PATH สามารถช่วยในการเลือกเวอร์ชั่นไพ ธ อนที่เหมาะสมที่จะใช้ แต่ก็สามารถใช้ symlink:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

การใช้-fตัวเลือกจะช่วยให้คุณสามารถแทนที่ symlink ที่มีอยู่

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