Miałem dwie wersje Pythona zainstalowane na moim komputerze (wersje 2.6 i 2.5). Chcę uruchomić 2.6 dla jednego projektu i 2.5 dla innego.
Jak mogę określić, którego chcę użyć?
Pracuję na Windows XP SP2.
Miałem dwie wersje Pythona zainstalowane na moim komputerze (wersje 2.6 i 2.5). Chcę uruchomić 2.6 dla jednego projektu i 2.5 dla innego.
Jak mogę określić, którego chcę użyć?
Pracuję na Windows XP SP2.
Odpowiedzi:
Uruchomienie innej kopii Pythona jest tak proste, jak uruchomienie odpowiedniego pliku wykonywalnego. Wspomniałeś, że uruchomiłeś instancję Pythona z wiersza poleceń, po prostu wpisując python.
To, co robi w systemie Windows, polega na przeszukaniu %PATH%zmiennej środowiskowej, sprawdzeniu pliku wykonywalnego, albo pliku wsadowego ( .bat), pliku poleceń ( .cmd), albo innego pliku wykonywalnego do uruchomienia (jest to kontrolowane przez PATHEXTzmienną środowiskową), który pasuje do podanej nazwy. Kiedy znajdzie właściwy plik do uruchomienia, plik jest uruchamiany.
Teraz, jeśli zainstalowałeś dwie wersje Pythona 2.5 i 2.6, ścieżka będzie zawierała oba swoje katalogi, coś w rodzaju PATH=c:\python\2.5;c:\python\2.6ale Windows przestanie badać ścieżkę, gdy znajdzie dopasowanie.
To, co naprawdę musisz zrobić, to jawnie wywołać jedną lub obie aplikacje, takie jak c:\python\2.5\python.exelub c:\python\2.6\python.exe.
Inną alternatywą jest utworzenie skrótu do odpowiedniego python.exewywołania jednego z nich python25i drugiego python26; możesz wtedy po prostu uruchomić python25z linii poleceń.
Dodanie dwóch kolejnych rozwiązań problemu:
#! c:\[path to Python 2.5]\python.exe- dla skryptów, które mają być uruchamiane w Pythonie 2.5
#! c:\[path to Python 2.6]\python.exe- dla skryptów, które mają być uruchamiane w Pythonie 2.6
lub zamiast uruchamiać pythonpolecenie, uruchom polecenie pylauncher ( py) określające, którą wersję Pythona chcesz;
py -2.6- wersja 2.6
py -2- najnowsza zainstalowana wersja 2.x
py -3.4- wersja 3.4
py -3- najnowsza zainstalowana wersja 3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
na przykład
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
wtedy możesz aktywować pierwszy i pracować z Pythonem 2.5 w ten sposób,
c:\venvs\2.5\activate
a kiedy chcesz przejść na Python 2.6, musisz to zrobić
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate. : . To jest w systemie Windows 10, jeśli to robi różnicę. Poza tym działa jak urok, dzięki.
Począwszy od Pythona 3.3 dostępny jest oficjalny program uruchamiający Python dla systemu Windows ( http://www.python.org/dev/peps/pep-0397/ ). Teraz możesz użyć #!pythonXdo określenia pożądanej wersji interpretera również w systemie Windows. Zobacz więcej szczegółów w moim innym komentarzu lub przeczytaj PEP 397.
Podsumowanie: W py script.pyuruchamia wersję Pythona Podane w #!lub Pythonie 2, jeśli #!brakuje. Do py -3 script.pyuruchamia Python 3.
.pyrozszerzeniem. Sam program uruchamiający jest zainstalowany w C:\Windowstym, że jest już w PATH. W ten sposób również PATHzmienna nie musi być modyfikowana.
Zgodnie z @alexander możesz utworzyć zestaw dowiązań symbolicznych, jak poniżej. Umieść je w miejscu, które jest zawarte w twojej ścieżce, aby można je było łatwo przywołać
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Tak długo, jak c: \ bin lub miejsce, w którym je umieściłeś, jest na twojej ścieżce, możesz teraz iść
> python25
mklinkjest natywnie dostępna tylko w systemie Windows Vista / 2008 +. W systemach XP i Server 2003 zamiast tego można utworzyć „twarde łącze”, używając fsutil hardlink create <new filename> <existing filename>i umieszczając lub przenosząc <nazwa nowego pliku> w inne miejsce na ścieżce. Jednak łącza twarde działają tylko na tym samym dysku.
zainstaluj python
Zmienna środowiskowa
PYTHON2_HOME: C:\Python27PYTHON3_HOME: C:\Python36Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;zmiana nazwy pliku
pypeć
python2 -m pip install packagepython3 -m pip install packagepythonpolecenie byłoby mylące dla systemu operacyjnego.
Na przykład dla wersji 3.6 py -3.6. Jeśli masz również wersje 32-bitową i 64-bitową, możesz po prostu wpisać py -3.6-64lub py -3.6-32.
pyuzupełnić odpowiedź o więcej wyjaśnień - gdzie jest ten plik wykonywalny - czy jest to dodatek tylko do systemu Windows? Czy można to włączyć do wieloplatformowego skryptu wiersza poleceń, który ma na górze: #!/usr/bin/env python3na przykład?
Po zainstalowaniu Pythona nie zastąpi on innych instalacji innych głównych wersji. Zatem zainstalowanie Pythona 2.5.x nie nadpisze Pythona 2.6.x, chociaż zainstalowanie 2.6.6 nadpisze 2.6.5.
Możesz więc po prostu go zainstalować. Następnie wywołujesz żądaną wersję Pythona. Na przykład:
C:\Python2.5\Python.exe
dla Pythona 2.5 w systemie Windows i
C:\Python2.6\Python.exe
dla Pythona 2.6 w systemie Windows lub
/usr/local/bin/python-2.5
lub
/usr/local/bin/python-2.6
w systemie Windows Unix (w tym Linux i OS X).
Podczas instalacji w systemie Unix (w tym Linux i OS X) zostanie pythonzainstalowane ogólne polecenie, które będzie ostatnim zainstalowanym. W większości przypadków nie stanowi to problemu, ponieważ większość skryptów wywołuje bezpośrednio /usr/local/bin/python2.5 lub coś tylko po to, aby się przed tym chronić. Ale jeśli nie chcesz tego robić i prawdopodobnie nie możesz, możesz zainstalować to w następujący sposób:
./configure
make
sudo make altinstall
Zwróć uwagę na „altinstall”, co oznacza, że zainstaluje go, ale nie zastąpi pythonpolecenia.
W systemie Windows nie dostajesz globalnego pythonpolecenia, o ile wiem, więc nie stanowi to problemu.
C:\Python2.5lub C:\Python2.6pojawi się w PATHzmiennej środowiskowej, odpowiednia wersja Pythona stanie się domyślną, chyba że zastąpisz ją, wyraźnie określając inną ścieżkę do pliku .exe, którego chcesz użyć.
Gorąco polecam projekt pyenv-win .
Dzięki pracy kirankotari mamy teraz wersję pyenv dla systemu Windows.
Oto szybki hack:
C:\Users\Your name)name_of_your_shortcut.lnk(używam p27.lnk)cp c: \ python27 \ bin \ python.exe jako python2.7.exe
cp c: \ python34 \ bin \ python.exe jako python3.4.exe
wszystkie znajdują się w ścieżce systemowej, wybierz wersję, którą chcesz uruchomić
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Używanie pliku wsadowego do przełączania, łatwe i wydajne w systemie Windows 7. Używam tego:
W oknie dialogowym zmiennych środowiskowych (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe)
W sekcji zmienne użytkownika
dodano% pathpython% do zmiennej środowiskowej path
usunięto wszelkie odniesienia do ścieżek Pythona
W sekcji zmienne systemowe
Utworzyłem pliki wsadowe dla każdej instalacji Pythona (np. Dla 3.4 x64
Name = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) tylko do zapamiętania.
Zawartość pliku =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Aby przełączać się między wersjami, wykonuję plik wsadowy w trybie administratora.
!!!!! Zmiany będą obowiązywać dla okien wiersza polecenia KOLEJNE OTWARTE. !!!
Więc mam nad tym dokładną kontrolę.
Najłatwiejszy sposób uruchamiania wielu wersji Pythona w systemie Windows jest opisany poniżej w następujący sposób: -
1) Pobierz najnowsze wersje Pythona z python.org/downloads , wybierając odpowiednią wersję dla swojego systemu.
2) Uruchom instalator i wybierz Dodaj python 3.x do ścieżki, aby automatycznie ustawić ścieżkę w pythonie 3 (wystarczy kliknąć pole wyboru). W przypadku pythona 2 otwórz instalator pythona 2, wybierz dowolne preferencje, ale pamiętaj tylko, aby ustawić opcję Dodaj python.exe do ścieżki na Zostanie zainstalowany na lokalnym dysku twardym.Teraz kliknij przycisk Dalej i poczekaj, aż instalator się zakończy.
3) Po zakończeniu obu instalacji. Kliknij prawym przyciskiem myszy na moim komputerze - Przejdź do właściwości - Wybierz zaawansowane ustawienia systemu - Przejdź do zmiennych środowiskowych - Kliknij nową w obszarze Zmienne systemowe i dodaj nową zmienną systemową o nazwie zmiennej jako PY_PYTHON i ustaw wartość tej zmiennej na 3 . Teraz kliknij OK i gotowe.
4) Teraz, aby to przetestować, otwórz wiersz polecenia . Gdy już tam będziesz, wpisz python lub py , powinno to otworzyć python3 .
5) Teraz wyjdź z python3, wpisując exit () . Teraz wpisz py -2 , powinno otworzyć się python 2.
Jeśli nic z tego nie zadziała, uruchom ponownie komputer, a jeśli problem nadal występuje, odinstaluj wszystko i powtórz kroki.
Dzięki.
W programie Anaconda Navigator można graficznie tworzyć różne środowiska programistyczne języka Python. Miałem ten sam problem podczas pracy z różnymi wersjami Pythona, więc użyłem nawigatora anaconda do stworzenia różnych środowisk programistycznych Pythona i użyłem różnych wersji Pythona w każdym środowisku.
Oto dokumentacja pomocy do tego.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Używając Rapid Environment Editor , możesz wypchnąć na górę katalog żądanej instalacji Pythona. Na przykład, aby uruchomić język Python z katalogu c: \ Python27, upewnij się, że katalog c: \ Python27 znajduje się przed katalogiem c: \ Python36 lub nad nim w zmiennej środowiskowej Path. Z mojego doświadczenia wynika, że pierwszy plik wykonywalny Pythona znaleziony w środowisku Path jest wykonywany. Na przykład mam zainstalowany MSYS2 z Python27 i ponieważ dodałem C: \ MSYS2 do ścieżki przed C: \ Python36, python.exe z folderu C: \ MSYS2 .... jest wykonywany.
Po prostu wywołaj właściwy plik wykonywalny
pythonwchodzić do powłoki spróbuj python2.5lub python2.6. Nie jestem użytkownikiem Windows, ale na UNIX / usr / bin / python jest zwykle aliasem do wykwalifikowanego wykonywalnego, jestem przy założeniu, pyton w Windows jest zainstalowany w podobny sposób