Menedżerowie pakietów - poziom użytkownika
Dla menedżera pakietów, który może zainstalować i zarządzać wieloma wersjami Pythona, są to dobre opcje:
- pyenv - tylko w stanie instalować i zarządzać wersjami Pythona
- asdf - potrafi zainstalować i zarządzać wieloma różnymi językami
Zaletą tych menedżerów pakietów jest to, że ich skonfigurowanie i zainstalowanie z nimi wielu wersji języka Python może być łatwiejsze niż zainstalowanie języka Python ze źródła. Zapewniają również polecenia do łatwej zmiany dostępnych wersji języka Python za pomocą podkładek i ustawiania wersji języka Python dla każdego katalogu.
Ta wada jest to, że domyślnie są instalowane na poziomie użytkownika (wewnątrz katalogu domowym) i wymagają trochę konfiguracji na poziomie użytkownika - musisz zmieniać swoich ~/.profilei ~/.bashrclub podobne pliki. Oznacza to, że nie jest łatwo ich używać do instalowania wielu wersji języka Python na całym świecie dla wszystkich użytkowników. Aby to zrobić, możesz zainstalować ze źródła wraz z istniejącą wersją Pythona systemu operacyjnego.
Instalacja ze źródła - dla całego systemu
Będziesz potrzebować uprawnień roota dla tej metody.
Zobacz oficjalną dokumentację Pythona dotyczącą budowania ze źródeł, aby uzyskać dodatkowe informacje i opcje.
/usr/localto wyznaczone miejsce, w którym administrator systemu może zainstalować oprogramowanie współdzielone (dla całego systemu), więc jego podkatalogi są dobrym miejscem do pobrania źródła języka Python i instalacji. Zobacz sekcję 4.9 normy File Hierarchy Standard firmy Linux Foundation .
Zainstaluj wszystkie zależności kompilacji. W systemach opartych na Debianie użyj:
apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
Wybierz wersję Pythona, którą chcesz zainstalować. Zobacz stronę Python Source Release, aby zobaczyć listę.
Pobierz i rozpakuj plik /usr/local/src, zastępując X.X.Xponiżej wersję dla języka Python (tj 3.8.2.).
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
Przed budowaniem i instalacją ustaw CFLAGSzmienną środowiskową z niezbędnymi flagami kompilatora C (zobacz makedokumentację GNU ). Zwykle nie jest to konieczne do ogólnego użytku, ale jeśli, na przykład, zamierzasz utworzyć wtyczkę uWSGI w tej wersji Pythona, możesz ustawić flagi -fPIC, z następującymi elementami :
export CFLAGS='-fPIC'
Zmień katalog roboczy na rozpakowany katalog źródłowy języka Python i skonfiguruj plik build. Prawdopodobnie będziesz chciał użyć --enable-optimizationsopcji ./configurepolecenia do optymalizacji sterowanej profilem . Użyć --prefix=/usr/localdo zainstalowania do odpowiednich podkatalogów ( /usr/local/bin, /usr/local/lib, itd.).
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
Skompiluj projekt makei zainstaluj za pomocą, make altinstallaby uniknąć zastępowania plików podczas instalowania wielu wersji. Zobacz ostrzeżenie na tej stronie dokumentacji kompilacji języka Python.
make -j 4
make altinstall
Wtedy powinieneś być w stanie uruchomić swoje nowe wersje Pythona i pip z pythonX.Xi pipX.X(tj. python3.8I pip3.8). Zwróć uwagę, że jeśli podrzędna wersja Twojej nowej instalacji jest taka sama jak wersja systemu operacyjnego (na przykład jeśli instalowałeś python3.8.4, a system operacyjny używał python3.8.2), musisz określić całą ścieżkę ( /usr/local/bin/pythonX.X) lub ustawić alias do korzystania z tej wersji.