Pertanyaan Meningkatkan ke python 3.2


Saya ingin menggunakan functools baru yang menyediakan lrucache, saya saat ini menggunakan python 2.6, yang tidak mendukung ini,

Apa cara terbaik yang dapat saya tingkatkan ke python 3.2? atau apakah ada cara lain yang dapat saya gunakan itertools + functools dari 3,2 rilis dalam distribusi python 2.6

Terima kasih


22
2017-12-15 18:58


asal


Mungkin resep ini itu berguna? - JanC


Jawaban:


Karena banyak program dan pustaka bergantung pada Python 2.6 (atau python 2.7 di 11.04), dan karena python 2.x dan 3.x tidak kompatibel, Anda tidak dapat meningkatkan - Anda hanya dapat menginstal python3 bersama python 2.6:

Python 3.1

  • Untungnya, rilis stabil Python 3 (3.1.2 pada saat menulis ini) disediakan di repositori. Cukup instal python3-semua paket.

    Interpreter Anda akan menjadi /usr/bin/python3 dari pada /usr/bin/python.

    Anda juga dapat mengetik sekarang python3 di terminal Anda saat Anda ingin meluncurkan Py3 alih-alih Py2.


Python 3.2

  • Kamu bisa, mengunduh versi apa pun dari sumber python dari python.org dan lari

    ./configure
    make
    sudo make altinstall
    

    Untuk dapat mengkompilasi sumber python, Anda memerlukan beberapa paket:

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

    Opsi altinstall akan menginstal versi python lain di samping yang sudah ada:

    Masuk akal, alih-alih mengunduh sumber, periksa rilis pengembangan terbaru dari repositori python dev sesering mungkin:

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

    Ini akan memberi Anda versi pengembangan terbaru, tidak stabil,. Anda bisa kemudian cd py3k/ dan lakukan prosedur kompilasi di atas.

    Untuk ini, svn perlu diinstal tentu saja.


24
2017-12-15 19:13



Jawaban ini hebat, saya angkat suara, tapi saya ingin lebih mendalam. Saya dapat memanggil Python baru sebagai 'python3.2', yang baik-baik saja, tetapi dapatkah saya mengatur semuanya sehingga program pribadi saya akan menggunakan versi ini secara default (mis. Dapatkan python3.2 sebagai 'python' pertama pada PATH) sementara sistem tetap aman menggunakan python2.6? Saya bertanya bukan karena saya tidak suka mengetik 'python3.2', tetapi karena beberapa - Jonathan Hartley
@Tartley Komentar Anda terpotong di sana, mengapa Anda ingin melakukannya? - Stefano Palazzo♦
(oops, terima kasih.) ... tetapi karena beberapa alat memiliki mis. bash skrip, yang memanggil komponen Python mereka menggunakan 'python xxx.py', dan mereka hanya berjalan di bawah Python 3.2. Jadi saya ingin membuat lingkungan (memang, saya ingin menjadikannya lingkungan default pribadi saya) di mana Python 3.2 (dan semua skrip, alat, dll) adalah yang pertama di jalan, sementara meninggalkan sistem Python 2.6 untuk sistem gunakan (memang, dengan preferensi, saya ingin menghapus ini dari jalur pribadi saya hanya untuk memastikan tidak ada kebingungan tentang Python yang saya jalankan) - Jonathan Hartley