การอัพเกรดเป็นไพ ธ อน 3.2


22

ฉันต้องการใช้งานฟังก์ชั่นใหม่ที่มาพร้อมกับ lrucache ตอนนี้ฉันใช้ python 2.6 ซึ่งไม่รองรับมัน

วิธีที่ดีที่สุดที่ฉันสามารถอัปเกรดเป็น python 3.2 คืออะไร หรือมีวิธีอื่นที่ฉันสามารถใช้ itertools + functools ของ 3.2 release ใน python 2.6 distribution

ขอขอบคุณ


บางทีสูตรนี้มีประโยชน์ไหม?
JanC

คำตอบ:


24

เนื่องจากโปรแกรมและไลบรารีจำนวนมากใช้ Python 2.6 (หรือ python 2.7 ใน 11.04) และเนื่องจาก python 2.x และ 3.x ไม่เข้ากันคุณจึงไม่สามารถอัปเกรดได้ - คุณสามารถติดตั้ง python3 ร่วมกับ python 2.6 ได้เท่านั้น:

Python 3.1

  • โชคดีที่มีการปล่อย Python 3 อย่างเสถียร (3.1.2 ณ เวลาที่เขียนนี้) ไว้ในที่เก็บ เพียงแค่ติดตั้งpython3 ทุก แพคเกจ

    ล่ามของคุณจะเป็นแทน/usr/bin/python3/usr/bin/python

    ตอนนี้คุณสามารถพิมพ์python3เทอร์มินัลของคุณเมื่อคุณต้องการเปิด Py3 แทน Py2


Python 3.2

  • คุณสามารถดาวน์โหลดรุ่นใดก็ได้ของแหล่งไพ ธ อนจาก python.orgและเรียกใช้

    ./configure
    make
    sudo make altinstall

    เพื่อให้สามารถรวบรวมแหล่งไพ ธ อนคุณจะต้องมีแพ็คเกจไม่กี่แพ็คเกจ:

    sudo apt-get install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev libbz2-dev

    ตัวเลือก altinstall จะติดตั้งไพ ธ อนรุ่นอื่น ๆ ข้างๆที่มีอยู่ของคุณ:

    แทนที่จะเป็นการดาวน์โหลดแหล่งข้อมูลลองดูการเปิดตัวการพัฒนาล่าสุดจากแหล่งเก็บข้อมูล python dev ทุก ๆ ครั้ง:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    สิ่งนี้จะทำให้คุณได้รับการพัฒนาล่าสุดไม่เสถียรรุ่น คุณสามารถcd py3k/และทำตามขั้นตอนการรวบรวมข้างต้น

    สำหรับสิ่งนี้svn จะต้องติดตั้งแน่นอน


1
คำตอบนี้ยอดเยี่ยมฉัน upvote แต่ฉันต้องการความลึกมากกว่า ฉันสามารถเรียก Python ใหม่เป็น 'python3.2' ซึ่งใช้ได้ แต่ฉันสามารถตั้งค่าเพื่อให้โปรแกรมส่วนบุคคลของฉันจะใช้รุ่นนี้เป็นค่าเริ่มต้น (เช่นรับ python3.2 เป็น 'python' แรกใน PATH) ในขณะที่ระบบรักษาความปลอดภัยโดยใช้ python2.6? ฉันไม่ถามเพราะฉันไม่ชอบพิมพ์ 'python3.2' แต่เป็นเพราะบางคน
Jonathan Hartley

1
@Tartley ความคิดเห็นของคุณถูกตัดไปทำไมคุณถึงอยากทำ?
Stefano Palazzo

1
(โอ๊ะโอขอบคุณ) ... แต่เนื่องจากมีเครื่องมือบางอย่างเช่นสคริปต์ทุบตีซึ่งเรียกใช้องค์ประกอบ Python ของพวกเขาโดยใช้ 'python xxx.py' และเครื่องมือเหล่านี้ทำงานภายใต้ Python 3.2 เท่านั้น ดังนั้นฉันต้องการสร้างสภาพแวดล้อม (แน่นอนว่าฉันต้องการให้เป็นสภาพแวดล้อมเริ่มต้นส่วนตัวของฉัน) ซึ่ง Python 3.2 (และสคริปต์เครื่องมือและอื่น ๆ ทั้งหมด) เป็นครั้งแรกบนเส้นทางในขณะที่ปล่อยให้ระบบ Python 2.6 สำหรับระบบ ใช้ (แน่นอนตามความต้องการฉันต้องการที่จะตัดสิ่งนี้ออกจากเส้นทางส่วนตัวของฉันเพียงเพื่อให้แน่ใจว่าไม่มีความสับสนว่างูเหลือมตัวไหนที่ฉันกำลังวิ่งอยู่)
Jonathan Hartley
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.