2013-04-12 4 views
8

Nachdem die folgende Aussage von PEP Lesen 405Wo ist Pyvenv-Skript in Python 3 auf Windows installiert?

A pyvenv installiert Skript auch dieser mehr bequem zur Verfügung gestellt zu machen:

pyvenv /path/to/new/virtual/environment

Ich habe versucht, eine neue virtuelle Umgebung zu schaffen und Scheiterte kläglich;

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. 

Offenbar pyvenv Skript nicht in Scripts Ordner installiert, die in der Regel auf die PATH Umgebungsvariable hinzugefügt wird, die es ermöglicht leicht solche Skripte auf der Kommandozeile ausgeführt werden.

Ist PEP 405 falsch, wurde es in Python 3.3 nicht richtig implementiert oder fehle ich etwas?

Antwort

11

Es sieht aus wie pyvenv Skript wird in Tools\Scripts Unterordner in Python Installationsordner (sys.prefix) platziert. Es scheint, als ob es in Scripts Unterordner kopieren ist eine gute Idee, wie es einfach pyvenv von der Befehlszeile eingeben (unter der Annahme Scripts Ordner ist bereits auf der PATH). Da es keine exe Wrapper für dieses Skript ist hat man sicher

  • .py Erweiterung PATHEXT Umgebungsvariable hinzugefügt wird, so dass Windows-Skript auf dem PATH platziert Python findet, wenn an der Eingabeaufforderung Skripts Namen eingeben.
  • .py Erweiterung zugeordnet ist, entweder mit Python ausführbare Datei oder mit Python Launcher (py.exe), die ausgehend von Python verfügbar 3,3

Alternativ kann man nur python -m venv statt pyvenv geben und sich alle Mühe sparen ...

Verwandte Python Fehler 17480-pyvenv sollteirgendwo deutlicher auf Windows

+0

In allen Python3-Version ist es in ../Python/Python##-##/Tools/scripts/pyvenv.py Hinzufügen zu Pfad behebt das Problem. Andernfalls verwenden Sie den Befehl, indem Sie den vollständigen Pfad des Skripts angeben und ausführen. nämlich Wenn Sie cygwin verwenden, um Unix in Windows nachzuahmen, verwenden Sie /cygdrive/c/Users/#####/AppData/Local/Programs/Python/Python36-32/Tools/scripts/pyvenv.py Einfache, aber leistungsstarke Befehl zu erstellen virtuelle Umgebung. Bei Aufruf mit vollständigem Pfad muss die System-PATH-Variable nicht hinzugefügt werden. – Doogle

4

Verwendung installiert werdenstatt.

Darüber hinaus gibt es keinen Grund, den Python-Ordner zu PATH hinzuzufügen, wenn Sie systemweit python.exe nur zum Erstellen von virtuellen Umgebungen verwenden.

+0

* Benutze stattdessen python -m venv someenvname. * - das habe ich in meine Antwort geschrieben, die bereits ein Jahr alt war, als du deine gepostet hast ... –