Python 3.2'ye yükseltme


22

Lrucache sağlayan yeni functools kullanmak istiyorum, şu anda bunu desteklemeyen python 2.6 kullanıyorum,

Python 3.2'ye yükseltmenin en iyi yolu nedir? veya python 2.6 dağılımında itertooller + 3.2 serbest bırakma functools'unu kullanabileceğim başka bir yol var mı?

teşekkür ederim


Belki bu tarif faydalıdır?
Ocak

Yanıtlar:


24

Birçok program ve kitaplık Python 2.6'ya (veya 11.04'te python 2.7'ye) dayandığından ve python 2.x ve 3.x'in uyumlu olmadığından, yükseltme yapamazsınız - python3'ü yalnızca python 2.6'nın yanına yükleyebilirsiniz:

Python 3.1

  • Neyse ki, Python 3'ün kararlı bir şekilde bırakılması (bunu yazarken 3.1.2) depolarda sağlanmıştır. Sadece python3-all  paketini kurun .

    Tercüman /usr/bin/python3bunun yerine olacak /usr/bin/python.

    Artık python3Py2 yerine Py3'ü başlatmak istediğinizde terminalinizi de yazabilirsiniz.


Python 3.2

  • Sen, olabilir python.org gelen piton kaynaklardan herhangi sürümünü indirmek ve çalıştırmak

    ./configure
    make
    sudo make altinstall

    Python kaynağını derleyebilmek için birkaç pakete ihtiyacınız olacak:

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

    Altinstall seçeneği, diğer python sürümünü varolanlarınızın yanına yükler:

    Kaynakları indirmek yerine, python dev deposundaki en son geliştirme sürümüne sık sık göz atmanız mantıklıdır:

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

    Bu size en son gelişme, kararsız, versiyon verecek. o zaman cd py3k/ve yukarıdaki derleme yordamını yapabilirsiniz.

    Bunun için svn'nin  elbette kurulması gerekiyor.


1
Bu cevap harika, ben yükseldim, ama daha fazla derinlik istiyorum. Yeni Python'u 'python3.2' olarak çağırabilirim, sorun değil, ancak kişisel programlarımın varsayılan olarak bu sürümü kullanması için bazı şeyler ayarlayabilirim (örneğin PATH'de ilk "python" olarak python3.2 olsun) Sistem güvenle python2.6 kullanarak tutarken? Sormuyorum çünkü 'python3.2' yazmayı sevmiyorum, ancak bazıları için
Jonathan Hartley

1
@Tartley Yorumunuz orada kesildi, neden bunu yapmak istiyorsunuz?
Stefano Palazzo

1
(ayy, teşekkürler.) ... ancak bazı araçlarda, örneğin python xxx.py 'yi kullanarak Python bileşenlerini çağıran bash betikleri olduğu için ve yalnızca Python 3.2 altında çalışırlar. Bu nedenle, Python 3.2'nin (ve tüm komut dosyalarının, araçların, vb.) Yolunda ilk sırada olduğu bir ortam yaratmak istiyorum, sistem için Python 2.6'yı bırakırken kullanın (gerçekten, tercihe göre, hangi Python'u çalıştırdığım konusunda hiçbir karışıklığa yol açmamak için bunu kişisel yolumdan çıkarmak istiyorum)
Jonathan Hartley
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.