2013-04-12 11 views
8

Po przeczytaniu poniższego oświadczenia od PEP 405Gdzie jest zainstalowany skrypt pyvenv w Pythonie 3 w systemie Windows?

Skrypt zainstalowany pyvenv jest również, aby ten bardziej wygodne:

pyvenv /path/to/new/virtual/environment

Starałem się stworzyć nowego wirtualnego środowiska i nie udało się;

C:\>python --version 
Python 3.3.1 
C:\>pyvenv myvenv 
'pyvenv' is not recognized as an internal or external command, 
operable program or batch file. 

Widocznie pyvenv skrypt nie jest zainstalowany w folderze Scripts który jest zwykle dodawana do zmiennej PATH środowisko umożliwiające łatwe uruchomienie takich skryptów w wierszu poleceń.

Czy błąd PEP 405, czy nie został poprawnie wdrożony w Pythonie 3.3, czy też czegoś brakuje?

Odpowiedz

11

Wygląda na to, że skrypt pyvenv znajduje się w podfolderze Tools\Scripts w folderze instalacyjnym Python (sys.prefix). Wygląda na to, że skopiowanie go do podfolderu Scripts jest dobrym pomysłem, ponieważ pozwala po prostu wpisać pyvenv z wiersza poleceń (zakładając, że katalog Scripts jest już w katalogu jest już w katalogu PATH). Jak nie ma exe wrapper dla tego skryptu trzeba się upewnić

  • .py rozszerzenie dodaje do PATHEXT zmiennej środowiskowej, tak aby Okna znajdzie Pythona skryptu umieszczonego na PATH podczas pisania skryptu nazwę w wierszu poleceń.
  • .py rozszerzenie jest związane zarówno z Python Python wykonywalny lub z wyrzutnią (py.exe), który już od Pythona 3.3

Alternatywnie można po prostu wpisać python -m venv zamiast pyvenv i uratować wszystkich kłopotów ...

Powiązane Python bug 17480 - pyvenv powinien być zainstalowany gdzieś bardziej oczywiste na Windows

+0

We wszystkich wersjach Pythona3 znajduje się w ../Python/Python##-##/Tools/scripts/pyvenv.py Dodanie go do ścieżki rozwiązuje problem. Inaczej użyj polecenia, podając pełną ścieżkę skryptu i uruchom. viz. jeśli używasz cygwin do naśladowania unixa w oknach, użyj: /cygdrive/c/Users/#####/AppData/Local/Programs/Python/Python36-32/Tools/scripts/pyvenv.py Proste, ale wydajne polecenie do tworzenia wirtualne środowisko. Jeśli wywołana z pełną ścieżką, nie trzeba dodawać do zmiennej System PATH. – Doogle

4

użytkowania python -m venv someenvname zamiast tego.

Co więcej, nie ma silnego powodu, aby dodawać folder Pythona do PATH, jeśli używasz całego systemu python.exe tylko do tworzenia środowisk wirtualnych.

+0

* Zamiast tego użyj python -m venv someenvname. * - to jest to, co napisałem w mojej odpowiedzi, która miała już rok, kiedy opublikowałeś swoje ... –

Powiązane problemy