2010-03-30 16 views
49

Czy istnieje oficjalna dokumentacja na stronie internetowej Pythona, jak zainstalować i uruchomić wiele wersji Pythona na tym samym komputerze w systemie Linux?Oficjalne wiele wersji Pythona na tym samym komputerze?

Mogę znaleźć gazillions wpisów na blogu i odpowiedzi, ale chcę wiedzieć, czy istnieje "standardowy" oficjalny sposób robienia tego?

Czy to wszystko zależy od systemu operacyjnego?

Odpowiedz

55

Myślę, że jest całkowicie niezależny. Wystarczy je zainstalować, a następnie masz polecenia, np. /usr/bin/python2.5 i /usr/bin/python2.6. Link /usr/bin/python do tego, którego chcesz używać domyślnie.

Mimo to wszystkie biblioteki znajdują się w oddzielnych folderach (nazwanych po wersji).

Jeśli chcesz ręcznie skompilować wersje, to jest z pliku readme kodu źródłowego Python:

Instalowanie wielu wersji

W systemach Unix i Mac, jeśli masz zamiar zainstalować kilka wersji Pythona używającego tego samego prefiksu instalacji (argumentu --prefix do skryptu configure ) należy zadbać o to, aby główny plik wykonywalny Pythona nie był nadpisywany przez instalację innej wersji. Wszystkie pliki i katalogi zainstalowane przy użyciu "make altinstall" zawierają główną i pomocniczą wersję i mogą w ten sposób żyć obok siebie. "make install" tworzy także $ {prefix}/bin/python3, który odnosi się do $ {prefix} /bin/pythonX.Y. Jeśli zamierzasz zainstalować wersję przy użyciu tego samego prefiksu, musisz zdecydować, która wersja (jeśli jest dostępna) jest Twoją "podstawową" wersją. Zainstaluj tę wersję przy użyciu "make install" . Zainstaluj wszystkie pozostałe wersje, używając "make altinstall".

Na przykład, jeśli chcesz zainstalować Python 2.5, 2.6 i 3.0 z 2.6 jest wersja podstawowa, by wykonać „make install” w katalogu 2.6 build i „make altinstall” w innych.

+3

Dzięki, "make install" na podstawowym i "make altinstall" na drugorzędnym stało się jasne. – drozzy

+4

Czy jest jakiś prawidłowy sposób udostępniania bibliotek między wersjami? Powiedzmy, że mam MySQLdb dla wersji 2.6, a następnie zainstalowałem 2.7. jak udostępnić MySQLdb także dla 2.7? – romeroqj

+0

Wszystkie podane informacje dotyczą systemów Unix/Linux i Mac OS, więc wyraźnie nie są "całkowicie niezależne" od systemu operacyjnego, o co prosi OP. W przypadku Windows proces jest zupełnie inny, ale równie łatwy. – wwwayne

0

Najsilniej zależy od używanego systemu dystrybucji paczek. Na przykład w MacPortach można zainstalować wiele pakietów Python i użyć narzędzia pyselect, aby z łatwością przełączać domyślne ustawienia między nimi. Przez cały czas można wywoływać różne interpretery języka Python, udostępniając pełną ścieżkę i można połączyć ze wszystkimi bibliotekami i nagłówkami w języku Python, udostępniając im pełne ścieżki.

W zasadzie, niezależnie od sposobu instalowania wersji, o ile zachowujesz oddzielne instalacje, będziesz mógł uruchamiać je osobno.

+0

Co to jest system dystrybucji paczek? – drozzy

+0

@drozzy: Na przykład RPM używane przez OpenSuse lub apt używane przez dystrybucje oparte na Debianie lub portage używane przez Gentoo itd. Zasadniczo jest to narzędzie do instalowania oprogramowania. –

20

W systemie Windows są instalowane w oddzielnych folderach "C: \ python26" i "C: \ python31", ale pliki wykonywalne mają tę samą nazwę "python.exe".

Stworzyłem kolejny folder "C: \ python", który zawiera "python.bat" i "python3.bat", które służą jako opakowania do "python26" i "python31" odpowiednio, i dodał "C: \ python" do zmienna środowiskowa PATH.

To pozwala mi wpisać python lub python3 w moich opakowaniach .bat Python, aby uruchomić tę, której pragnę.

W systemie Linux można użyć sztuczki #!, aby określić wersję, której skrypt ma użyć.

+0

Co dodać do tych plików .bat? – Aidis

+0

Nie uwzględnimy tej odpowiedzi tylko dlatego, że jest ona specyficzna dla systemu Windows i pytanie dotyczyło Linuksa, w przeciwnym razie jest to świetna informacja. –

+2

Użytkownik już nie istnieje, naprawdę chciałem ten plik wsadowy – Wargog

3

Sposób instalacji różnych wersji Pythona zależy od systemu operacyjnego.

Jeśli jednak używasz systemu Linux, możesz użyć narzędzia takiego jak pythonbrew lub pythonz, aby ułatwić zarządzanie i przełączanie między różnymi wersjami.

+0

Zainstalowałem na komputerze Mac z konfiguracją/make altinstall. Żadnych problemów do tej pory. – Evgeny

+0

'pyenv' działa dobrze dla mnie na Ubuntu: https://github.com/pyenv/pyenv – JHS

1

Jeśli trzeba zainstalować kilka wersji Pythona (obok budynku głównego) na Ubuntu/Mint: (powinien działać podobnie na innych Unixs').

1) Instalacja wymaganych pakietów do źródła Kompilacja

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 

2) Pobierz i rozpakuj pożądane Python wersja

Download Python Source for Linux jako archiwum i przenieść go do /usr/src.

Wyodrębnij pobrany pakiet na miejsce. (wymień x ze swoimi pobranego wersji)

$ sudo tar xzf Python-x.x.x.tgz 

3) skompilować i zainstalować Pythona Źródło

$ cd Python-x.x.x 
$ sudo ./configure 
$ sudo make altinstall 

Twój nowy bin Python znajduje się teraz w /usr/local/bin. Możesz przetestować nową wersję:

$ pythonX.X -V 
Python x.x.x 
$ which pythonX.X 
/usr/local/bin/pythonX.X 

# Pip is now available for this version as well: 
$ pipX.X -V 
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X) 
Powiązane problemy