Aktualizacja do Pythona 3.2

22

Chcę używać nowych funkcji, które zapewniają lrucache, obecnie używam Pythona 2.6, który tego nie obsługuje,

Jaki jest najlepszy sposób aktualizacji do Pythona 3.2? czy jest jakiś inny sposób, w jaki mogę użyć itertools + funkools wersji 3.2 w dystrybucji Python 2.6

Dziękuję Ci

uczeń
źródło
Może ten przepis jest przydatny?
JanC

Odpowiedzi:

24

Ponieważ wiele programów i bibliotek opiera się na języku Python 2.6 (lub python 2.7 w 11.04), a ponieważ python 2.x i 3.x są niekompatybilne, nie można aktualizować - można zainstalować tylko Python3 obok Pythona 2.6:

Python 3.1

  • Na szczęście stabilne wydanie Pythona 3 (3.1.2 w chwili pisania tego tekstu) jest dostępne w repozytoriach. Wystarczy zainstalować pakiet python3-all  .

    Twój tłumacz będzie /usr/bin/python3zamiast /usr/bin/python.

    Możesz teraz także wpisać python3swój terminal, gdy chcesz uruchomić Py3 zamiast Py2.


Python 3.2

  • Możesz pobrać dowolną wersję źródeł python ze strony python.org i uruchomić

    ./configure
    make
    sudo make altinstall

    Aby móc skompilować źródło Pythona, potrzebujesz kilku pakietów:

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

    Opcja altinstall zainstaluje inną wersję Pythona wraz z twoimi istniejącymi:

    Ma sens, aby zamiast pobierać źródła, co jakiś czas sprawdzać najnowszą wersję rozwojową z repozytorium dev Pythona:

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

    To da ci najnowszą wersję rozwojową, niestabilną. możesz wtedy cd py3k/wykonać powyższą procedurę kompilacji.

    W tym celu należy oczywiście zainstalować svn  .

Stefano Palazzo
źródło
1
Ta odpowiedź jest świetna, głosowałem, ale chciałbym głębiej. Mogę wywoływać nowego Pythona jako „python3.2”, co jest w porządku, ale mogę skonfigurować takie rzeczy, aby moje programy osobiste domyślnie używały tej wersji (np. Otrzymywały python3.2 jako pierwsze „python” na ścieżce) podczas gdy system bezpiecznie używa Python2.6? Nie pytam, bo nie lubię pisać „python3.2”, ale dlatego, że niektórzy
Jonathan Hartley
1
@Tartley Twój komentarz został tam odcięty, dlaczego chcesz to zrobić?
Stefano Palazzo
1
(ups, dzięki.) ... ale ponieważ niektóre narzędzia mają np. skrypty bash, które wywołują komponenty Pythona za pomocą 'python xxx.py' i działają tylko pod Pythonem 3.2. Chcę więc stworzyć środowisko (naprawdę chcę, aby było to moje osobiste domyślne środowisko), w którym Python 3.2 (i wszystkie jego skrypty, narzędzia itp.) Jest pierwszy na ścieżce, pozostawiając system Python 2.6 dla systemu use (w rzeczy samej, z preferencji chciałbym usunąć to z mojej osobistej ścieżki tylko po to, aby nie mieć wątpliwości co do tego, który Python prowadzę)
Jonathan Hartley