Czy jest jakiś sposób, aby pip
dobrze grać z wieloma wersjami Pythona? Na przykład chcę użyć, pip
aby jawnie zainstalować rzeczy w mojej instalacji w wersji 2.5 lub mojej instalacji w wersji 2.6.
Na przykład, easy_install
używam easy_install-2.{5,6}
.
I tak - wiem o virtualenv i nie - to nie jest rozwiązanie tego konkretnego problemu.
pip34
ipip35
?pip3.x
faktycznie zarządza wersją Pythona, w której chcesz zainstalować pakiety (być może uruchomić,pip3.x -V
aby zobaczyć). Lub użyj rozwiązania @ Hugo, aby mieć lepszą kontrolę nad wieloma wersjami Pythona.Odpowiedzi:
Prąd zalecenie jest do użytku
python -m pip
, gdziepython
jest wersja Pythona chcesz użyć. Jest to zalecenie, ponieważ działa we wszystkich wersjach Pythona i we wszystkich formach virtualenv. Na przykład:Poprzednia odpowiedź pozostawiona potomności:
Od wersji 0.8 Pip obsługuje
pip-{version}
. Możesz go używać tak samo jakeasy_install-{version}
:EDYCJA : pip zmienił swój schemat do użycia
pipVERSION
zamiastpip-VERSION
w wersji 1.5. Jeśli maszpip >= 1.5
:Sprawdź https://github.com/pypa/pip/pull/1053, aby uzyskać więcej informacji
Bibliografia:
źródło
pip
przezpip
/easy_install
lubget-pip.py
nie masz Python2.7. jeśli masz python2.7, spróbuj:pip install --upgrade pip
i trzeba miećpip
ipip-2.7
pip
jest wybierany na podstawie zmiennej środowiskowej $ PATH. Jeśli chcesz zmienić „domyślny” program pip, zmień kolejność zmiennej środowiskowej $ PATH. Wyszukaj coś takiego jak „ścieżka środowiskowa zmienna linux”, aby uzyskać więcej informacji na temat $ PATH.W systemie Windows można wykonać przy użyciu modułu pip danej wersji Pythona przez Python wyrzutni ,
py.exe
jeśli wybrano go zainstalować Python 3 podczas konfiguracji.Możesz być jeszcze bardziej szczegółowy i poprosić o dokładną pod-wersję Pythona:
Aby uzyskać listę wszystkich zainstalowanych wersji Python dostępnych za pośrednictwem programu uruchamiającego, uruchom:
Alternatywnie możesz uruchomić żądany plik wykonywalny Pythona bezpośrednio:
źródło
python2
,python3
,pip2
apip3
na Windows?/path/to/python2.{5,6} /path/to/pip install PackageName
nie działa?Aby to działało na każdej wersji Pythona, która nie ma jeszcze zainstalowanej pip, musisz pobrać pip i zrobić
python*version* setup.py install
. Na przykładpython3.3 setup.py install
. To rozwiązuje błąd importowania w komentarzach. (Zgodnie z sugestią @hbdgaf)źródło
python2.7 -m pip install PackageName
Miałem domyślnie zainstalowany Python 2.6 (Amazon EC2 AMI), ale potrzebowałem Python2.7 oraz niektórych zewnętrznych pakietów dla mojej aplikacji. Zakładając, że już zainstalowałeś python2.7 wraz z domyślnym pythonem (w moim przypadku 2.6). Oto jak zainstalować pip i pakiety dla nie-domyślnego python2.7
Zainstaluj pip dla swojej wersji Pythona:
Użyj konkretnej wersji pip, aby zainstalować pakiety:
źródło
python3 get-pip.py
a później za pomocą polecenia pip zpip34 install example
Could not find a version that satisfies the requirement pip (from versions: ) No matching distribution found for pip
kiedy spróbowałempython2.6 get-pip.py
W systemie Windows działało to w ten sposób:
Zmieniłem nazwę plików python python.py i pythonw.exe na python3.py pythonw3.py
Następnie uruchomiłem to polecenie w wierszu polecenia:
python3 -m pip install package
źródło
Inne odpowiedzi pokazują, jak używać pipa zarówno z Pythonem 2.X, jak i 3.X, ale nie pokazują, jak obsługiwać przypadek wielu dystrybucji Pythona (np. Oryginalny Python i Anaconda Python) .
Mam w sumie 3 wersje Python: oryginalny Python 2.7 i Python 3.5 oraz Anaconda Python 3.5.
Oto jak instaluję pakiet w:
Oryginalny Python 3.5 :
Oryginalny Python 2.7 :
Anaconda Python 3.5 :
lub
Prostsze, ponieważ Anaconda zastępuje oryginalne pliki binarne Pythona w środowisku użytkownika.
Oczywiście instalacja w anakondy powinna odbywać się za pomocą
conda
polecenia, to tylko przykład.Upewnij się również, że pip jest zainstalowany dla tego konkretnego pythona. Może być konieczne ręczne zainstalowanie pipa. Działa to w Ubuntu 16.04:
lub
źródło
Niedawno natknąłem się na ten problem i okazało się, że nie dostałem odpowiedniego pipa dla Pythona 3 w moim systemie Linux, który również ma Python 2.
Najpierw musisz upewnić się, że zainstalowałeś pip dla swojej wersji Pythona:
W przypadku Python 2:
W przypadku Python 3:
Następnie, aby zainstalować pakiety dla jednej wersji Pythona lub drugiej, po prostu użyj następujących poleceń dla Python 2:
lub dla Python 3:
źródło
pip jest także pakietem Pythona. Najłatwiejszym sposobem zainstalowania modułów w konkretnej wersji Pythona byłby poniżej
lub
źródło
Najwyraźniej istnieje wiele wersji
easy_install
ipip
. To wydaje się być wielkim bałaganem. W każdym razie tak zrobiłem, aby zainstalować Django dla Python 2.7 na Ubuntu 12.10:źródło
Stąd: https://docs.python.org/3/installing/
Oto jak zainstalować pakiety dla różnych wersji, które są instalowane jednocześnie Linux, Mac, Posix :
W systemie Windows użyj programu uruchamiającego py Python w połączeniu z przełącznikiem -m:
źródło
pipenv
W systemach Linux, Mac OS X i innych systemach POSIX użyj wersjonowanych poleceń Pythona w połączeniu z
-m
przełącznikiem, aby uruchomić odpowiednią kopiępip
:(mogą być również dostępne odpowiednio wersjonowane komendy pip)
W systemie Windows użyj programu
py
uruchamiającego Python w połączeniu z-m
przełącznikiem:jeśli pojawi się błąd,
py -3.4
spróbuj:źródło
Instalacja wielu wersji Pythona i odpowiednich pakietów.
Wersja Python na tym samym komputerze z systemem Windows: 2.7, 3.4 i 3.6
Instalacja wszystkich 3 wersji Pythona :
ŚCIEŻKA dla wszystkich 3 wersji Pythona :
Zmiana nazwy plików wykonywalnych dla wersji :
Sprawdzone w wierszu polecenia ze wszystkimi wersjami:
Instalowanie pakietów osobno dla każdej wersji
źródło
Jeśli masz wiele wersji, a także wiele architektur (32-bitowych, 64-bitowych), musisz dodać -32 lub -64 na końcu swojej wersji.
W systemie Windows przejdź do cmd i wpisz py --list, aby wyświetlić zainstalowane wersje. Lista będzie wyglądać następująco:
Pełne polecenie jako przykład będzie:
Jeśli chcesz uzyskać większą niezależność, aby zainstalować określoną wersję pakietu na określonej wersji Pythona, użyj == (wersja) po pakiecie. Jako przykład,
źródło
Większość odpowiedzi tutaj dotyczy tego problemu, ale chcę dodać coś, co ciągle mnie myliło w związku z tworzeniem alternatywnej instalacji Pythona w
/usr/local
CentOS 7. Kiedy tam zainstalowałem, wyglądało na to, że pip działał, ponieważ mogłem używaćpip2.7 install
i instalowałoby moduły. Jednak nie mogłem zrozumieć, dlaczego moja nowo zainstalowana wersja Pythona nie widziała tego, co instaluję.W CentOS 7 okazuje się, że w
/usr/bin
folderze jest już Python2.7 i pip2.7 . Aby zainstalować pip dla nowej dystrybucji python, musisz konkretnie powiedzieć sudo, aby poszedł do/usr/local/bin
Powinno to spowodować zainstalowanie pip2.7 w twoim
/usr/local/bin
folderze wraz z twoją wersją Pythona. Sztuczka polega na tym, że jeśli chcesz zainstalować moduły, musisz zmodyfikować$PATH
zmienną sudo , aby uwzględnić,/usr/local/bin
lub musisz wykonaćjeśli chcesz zainstalować nowy moduł. Pamiętam, że
sudo
nie widziałem tego od razu/usr/local/bin
.źródło
Oto moje podejście do problemu. Działa dla Python3. Główne cechy to:
Kroki są następujące:
Jeśli masz kilka dodatkowych wersji Pythona zainstalowanych w inny sposób, pozbądź się ich, np. Usuń $ HOME / .local / lib / python3.x itp. (Także te zainstalowane globalnie). Nie dotykaj jednak domyślnej wersji python3 systemu.
Pobierz źródło dla różnych wersji Pythona w następującej strukturze katalogów:
W każdym katalogu „Python-3.xy /” wykonaj następujące czynności ( NIE używaj „sudo” w żadnym z kroków!):
W „python_versions /” utwórz pliki takie jak to:
Teraz, za każdym razem, gdy chcesz wybrać Python3.x, zrób
wejść do virtualenv
Będąc w virtualenv, zainstaluj swoje ulubione pakiety python za pomocą
Aby wyjść z wersji virtualenv i python, po prostu wpisz „dezaktywuj”
AKTUALIZACJA
Wygląda na
--no-site-packages
to, że jest przestarzałe. Jest na to łatwa poprawka: po aktywowaniu virtualenv, po prostu skieruj zmienną HOME env na miejsce inne niż twój rzeczywisty katalog domowy, tj .:Ogólnie dobrym sposobem na zrobienie tego jest:
ln -s $HOME/.local/lib/python3.6/site-packages/numpy $PWD/venv/lib/python3.6/site-packages/
export PYTHONPATH=
,export HOME=/some/other/dir
Teraz powinieneś mieć niestandardowo izolowane virtualenv.
źródło
Kontekst: Archlinux
Akcja:
zainstaluj python2-pip:
sudo pacman -S python2-pip
Masz teraz pip2.7:
sudo pip2.7 install boto
Test (w moim przypadku potrzebowałem „boto”):
Uruchom następujące polecenia:
Sukces: brak błędu.
Wyjdź: Ctrl+D
źródło
na przykład, jeśli ustawisz inne wersje (np. 3.5) jako domyślne i chcesz zainstalować pip dla Pythona 2.7:
źródło
Możesz przejść na przykład do C: \ Python2.7 \ Scripts, a następnie uruchomić cmd z tej ścieżki. Następnie możesz uruchomić pip2.7, zainstalować pakiet ...
Spowoduje to zainstalowanie pakietu dla tej wersji Pythona.
źródło
Jest to prawdopodobnie całkowicie niewłaściwa rzecz (jestem pytonem noob), ale właśnie wszedłem i edytowałem plik pip
źródło
W przypadku systemu Windows: \ ścieżka \ do \ python.exe -m pip install nazwa_pakietu działa.
źródło
dla Blender:
źródło