python2.7 จะมีให้สำหรับ 10.04 ในอนาคตหรือไม่


27

ตั้งแต่ Ubuntu 10.04 เป็นรุ่น LTS จะสนับสนุน python 2.7 เป็นเวอร์ชันผู้ดูแลแพ็คเกจเริ่มต้นหรืออย่างน้อยมีแพ็คเกจ python2.7 ในอนาคต?

เนื่องจากมันจะเป็นไพ ธ อนรุ่นใหญ่ 2.x ครั้งล่าสุดและตั้งใจจะอยู่ในสถานที่เป็นเวลานานฉันจึงตัดสินใจใช้มัน ฉันรวบรวมมันจากแหล่งที่มา (หลังจากการสร้างแน่นอน) แต่ตอนนี้แล้วฉันพบปัญหาเล็ก ๆ

จะปลอดภัยหรือไม่ที่จะกำหนด python 2.7 ที่คอมไพล์แล้วของฉันเป็นค่าเริ่มต้นเนื่องจากมีบางแอพพลิเคชั่นการกระจายที่ใช้งานได้กับ python

คำตอบ:


16

ไม่มีก็ไม่ได้คิดว่าปลอดภัยเพื่อกำหนดเป็นค่าเริ่มต้น 2.7 หลามล่ามของคุณในสุวิมล และฉันไม่คิดว่ามันจะเป็นในอนาคต

  • ไม่มีการอัพเกรดซอฟต์แวร์ใด ๆ ในรุ่นใหญ่

    ดังนั้น python2.7 จะไม่แทนที่ 2.6 เป็นล่ามเริ่มต้น การอัปเกรดประเภทนี้ทำได้เฉพาะระหว่างเวอร์ชันภายในหนึ่ง - โดยเฉพาะอย่างยิ่ง LTS - มีการเรียกเฉพาะการอัปเกรดที่เสถียรเช่นการแก้ไขข้อบกพร่องและการอัพเกรดที่เกี่ยวข้องกับความปลอดภัย

อย่างไรก็ตามมันปลอดภัยอย่างสมบูรณ์ในการใช้ python2.7 กำหนดล่ามของคุณ#!/usr/bin/python2.7และให้ผู้ใช้ติดตั้งโดยใช้make altinstallบนแหล่งไพ ธ อนควบคู่ไปกับ python2.6


41

มีปัญหาเดียวกันกับ VPS ที่ไม่สามารถอัปเกรดเป็นไม่ฝักใฝ่ฝ่ายใด (แม้ภาพ LTS ใหม่จะไม่สามารถใช้งานได้ตามกำหนดเวลา) คำตอบของ Mariusทำให้ฉันเริ่มต้นได้ แต่มันควรจะขยายออกไปเมื่อ:

เพิ่ม PPA ลงในแหล่งที่มาของคุณ

หากคุณอยู่ในสถานการณ์ของฉันคำแนะนำง่ายๆในการวิ่งadd-apt-repositoryจะไม่เหมาะกับคุณ ดังนั้นเรามาทำวิธีที่ล้าสมัยกันเถอะ:

  1. เปิดไฟล์/etc/apt/sources.list(คุณต้องมีสิทธิ์ใช้งานรูทหากคุณอยู่บนเชลล์อาจหมายถึงการใช้งานsudo vim /etc/apt/sources.list)

  2. ไปจนถึงด้านล่างของไฟล์ (หากใช้vimให้สลับไปยังโหมดแทรกโดยการกดi) และเพิ่มบรรทัดต่อไปนี้:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
  3. บันทึกและออก (ในvim: ประเภท:wq) แล้วกลับไปที่เชลล์

  4. ป้อนข้อมูลต่อไปนี้ (คุณสามารถค้นหารหัสที่ถูกต้องได้ที่ PPAซึ่งเป็นส่วนหลังเครื่องหมายทับใน "รายละเอียดทางเทคนิค" - ตรวจสอบให้แน่ใจว่าคุณได้รับรหัสที่ถูกต้อง):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. ตอนนี้ป้อนสิ่งต่อไปนี้เพื่ออัปเดตรายการแหล่งที่มาของคุณ:

    sudo apt-get update

ติดตั้งและตั้งค่า Python 2.7

  1. เปิดเชลล์บนเซิร์ฟเวอร์ของคุณและป้อนข้อมูลต่อไปนี้:

    sudo apt-get install python2.7 python2.7-dev
  2. เพื่อให้easy_installทำงานได้รับdistributeสคริปต์ bootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
  3. สุดท้ายคุณต้องการpipและvirtualenvทำงานหากคุณวางแผนที่จะทำอะไรที่ร้ายแรง:

    easy_install-2.7 pip
    pip-2.7 install virtualenv

การตั้งค่า virtualenv

  1. สร้างโฟลเดอร์สำหรับสภาพแวดล้อมใหม่ของคุณและเปิดมัน:

    mkdir my_env && cd my_env
  2. สร้างสภาพแวดล้อมเสมือนเอง (จุดแสดงไดเรกทอรีปัจจุบันเป็นที่ตั้งของสภาพแวดล้อมแทนที่ด้วยเส้นทางที่ถูกต้องหากคุณข้ามขั้นตอนก่อนหน้า):

    virtualenv --no-site-packages --python=python2.7 .
  3. เปิดใช้งานสภาพแวดล้อม คุณจะสังเกตเห็นการเปลี่ยนแปลงที่รวดเร็วของเชลล์เพื่อสะท้อนสภาพแวดล้อมที่แอคทีฟ:

    source bin/activate
  4. สิ่งที่คุณทำในเชลล์นี้จะใช้สคริปต์ในbinโฟลเดอร์ของสภาพแวดล้อมเสมือนและแพ็คเกจ Python ของสภาพแวดล้อมนั้น โปรดทราบ--no-site-packagesว่าตัวเลือกหมายถึงคุณเริ่มต้นด้วยแพ็คเกจที่น้อยที่สุด (รวมถึงpipอย่างไรก็ตาม) ดังนั้นคุณต้องติดตั้งแพ็คเกจทั้งหมดที่คุณต้องการ

  5. เมื่อเสร็จแล้วให้ปิดการใช้งานสภาพแวดล้อม (นี่คือคำสั่งที่รู้จักโดยสภาพแวดล้อมที่ใช้งานอยู่):

    deactivate

นอกจากนี้คุณยังสามารถติดตั้งแพ็คเกจลงในสภาพแวดล้อมเสมือนจริงโดยส่ง-Eตัวเลือกไปที่pip(เช่นpip install some-package -E /path/to/virtual/environmentเพื่อติดตั้งsome-packageไปยังสภาพแวดล้อมเสมือนบนเส้นทางที่กำหนด) โปรดทราบว่าคุณจะมีรุ่นที่แตกต่างกันหลายรุ่นที่pipสอดคล้องกับรุ่น Python ที่แตกต่าง

เป็นความคิดที่ดีที่จะใช้pip-2.7ถ้าคุณต้องการติดตั้งแพ็กเกจสำหรับ Python 2.7 เมื่อทำงานนอกสภาพแวดล้อมเสมือน ( --python=python2.7ตัวเลือกที่เราส่งผ่านไปvirtualenvหมายถึงสภาพแวดล้อมเสมือนจริงจะใช้เครื่องมือ Python 2.7 รุ่นที่มีให้ดังนั้นคุณไม่จำเป็นต้อง กังวลเกี่ยวกับเรื่องนั้น)


1
ในกรณีของฉันฉันได้ติดตั้ง pip ไปแล้ว 2.6 และฉันต้องeasy_install-2.7 -U pipบังคับให้ติดตั้งรุ่น 2.7 แต่ขอบคุณนี่เป็นความช่วยเหลือที่ยอดเยี่ยม!
Gabe Moothart

2
สำหรับขั้นตอนที่ 2 ภายใต้หัวข้อ "การติดตั้งและตั้งค่าหลาม 2.7" wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7ที่ผมต้องทำ และจากนั้นก็จะได้รับ pip ตามมาด้วยsudo python2.7 -m easy_install pip sudo python2.7 -m easy_install --upgrade pipตัวเลือก - ไม่มีการตรวจสอบใบรับรองจำเป็นต้องผ่านการร้องเรียนจาก wget เกี่ยวกับใบรับรอง SSL (ดูpypi.python.org/pypi/setuptools#unix-wget )
zlovelady

10

มี PPAพร้อม Python 2.7 ที่สร้างขึ้นสำหรับ Ubuntu 10.04 อาจปลอดภัยกว่าหรือสะดวกกว่าการสร้างจากแหล่งที่มา


2

นี้ได้รับการแก้ไขทุกประเภทของปัญหาผมมีhttps://stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu

ตอนนี้libpython2.7.so.1.0กำลังเชื่อมโยงไปยัง python2.7 ของฉันและอื่น ๆ ทั้งหมดดูเหมือนจะมีความสุขมากขึ้น

ชิ้นสุดท้ายที่ฉันต้องคิดออกก็คือmod_wsgiการติดตั้ง หากคุณเพียงแค่ออก:

$ apt-get install libapache2-mod-wsgi

จากนั้นจะถูกรวบรวมสำหรับ Python2.6 :(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

ดังนั้นผมทำตามคำแนะนำและให้บริการโดย Gork-Zope ที่นี่

ในที่สุดฉันก็มีเซิร์ฟเวอร์ที่ใช้งานได้ ขอขอบคุณ.


1

ฉันไม่คิดอย่างนั้นเพราะมันจะต้องเปลี่ยนหลายโปรแกรมและห้องสมุดที่เกี่ยวข้องกับรุ่น 10.04 จริงๆแล้วงานจำนวนมากในอูบุนตูนั้นใช้งานกับงูหลาม การเปลี่ยนเป็นไพ ธ อนจะเปลี่ยนไฟล์ระบบเป็นจำนวนมาก

สำหรับ 10.10 นั้นมีให้จาก synaptic / aptitude เพียงแค่ติดตั้ง python2.7 (คุณสามารถติดตั้ง 3 และ 3.1) ได้ แต่สำหรับ 10.04 ไม่มีงานที่ทำออกมาสำหรับ 10.04

10.10 มี python 2.6 เป็นค่าเริ่มต้น ขออภัยถ้าคำตอบนั้นไม่เป็นเชิงบวก แต่เพียงต้องการให้คุณทราบถึงความเปลี่ยนแปลง

EDIT - เปลี่ยน Python 2.7 เป็น Python 2.6 เป็นค่าเริ่มต้นเนื่องจากตรวจสอบซ้ำจากความคิดเห็นด้านล่าง ขอขอบคุณ.


ฉันเพิ่งตรวจสอบ 10.10 ในกล่องเสมือนมันมีงูหลาม 2.6.6 โดยค่าเริ่มต้นแม้ว่าจะมี 2.7 แพ็คเกจสำหรับผู้ไม่ฝักใฝ่ฝ่ายใด ฉันคิดว่ามัน 11.04 ซึ่งมันเป็นค่าเริ่มต้น โดยทั่วไปฉันจะทำการอัปเดตและเปลี่ยนแปลง distros แต่ก็พิจารณาที่จะติดกับ 10.04 สำหรับการสนับสนุนระยะยาวและการปรับแต่งของฉัน
crodjer

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