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.
python
windows
python-3.x
compatibility
python-2.x
Bilal Basharat
źródło
źródło
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 przezPATHEXT
zmienną ś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.6
ale 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.exe
lubc:\python\2.6\python.exe
.Inną alternatywą jest utworzenie skrótu do odpowiedniego
python.exe
wywołania jednego z nichpython25
i drugiegopython26
; możesz wtedy po prostu uruchomićpython25
z linii poleceń.źródło
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.6lub zamiast uruchamiać
python
polecenie, uruchom polecenie pylauncher (py
) określające, którą wersję Pythona chcesz;py -2.6
- wersja 2.6py -2
- najnowsza zainstalowana wersja 2.xpy -3.4
- wersja 3.4py -3
- najnowsza zainstalowana wersja 3.xvirtualenv -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ć
źródło
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ć
#!pythonX
do 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.py
uruchamia wersję Pythona Podane w#!
lub Pythonie 2, jeśli#!
brakuje. Dopy -3 script.py
uruchamia Python 3.źródło
.py
rozszerzeniem. Sam program uruchamiający jest zainstalowany wC:\Windows
tym, że jest już wPATH
. W ten sposób równieżPATH
zmienna 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ć
Tak długo, jak c: \ bin lub miejsce, w którym je umieściłeś, jest na twojej ścieżce, możesz teraz iść
źródło
mklink
jest natywnie dostępna tylko w systemie Windows Vista / 2008 +. W systemach XP i Server 2003 zamiast tego można utworzyć „twarde łącze”, używającfsutil 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:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
zmiana nazwy pliku
pypeć
python2 -m pip install package
python3 -m pip install package
źródło
python
polecenie 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-64
lubpy -3.6-32
.źródło
py
uzupeł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 python3
na 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:
dla Pythona 2.5 w systemie Windows i
dla Pythona 2.6 w systemie Windows lub
lub
w
systemie WindowsUnix (w tym Linux i OS X).Podczas instalacji w systemie Unix (w tym Linux i OS X) zostanie
python
zainstalowane 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:Zwróć uwagę na „altinstall”, co oznacza, że zainstaluje go, ale nie zastąpi
python
polecenia.W systemie Windows nie dostajesz globalnego
python
polecenia, o ile wiem, więc nie stanowi to problemu.źródło
C:\Python2.5
lubC:\Python2.6
pojawi się wPATH
zmiennej ś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.
źródło
Oto szybki hack:
C:\Users\Your name
)name_of_your_shortcut.lnk
(używamp27.lnk
)źródło
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ć
źródło
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 =
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ę.
źródło
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.
źródło
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/
źródło
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.
źródło
Po prostu wywołaj właściwy plik wykonywalny
źródło
python
wchodzić do powłoki spróbujpython2.5
lubpython2.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