2015-06-01 14 views
7

Ich benutze Gitbash auf Windows (7, 64bit). Ich habe versucht, ein venv mit Python 3.4 eingebauten Venv-Modul durch den Aufruf python -m venv venv erstellen, und es erfolgreich erstellt, aber die resultierende venv enthält keine bash aktivieren Skript, nur eine .bat und .ps1.Aktivierung pyvenv von Gitbash für Windows

Die virtualenv Bibliothek für Python 2.6.6 (Version 13.0.1) erstellt die folgenden vier Dateien im Ordner venv/Scripts/: activate, activate.bat, activate.ps1 und activate_this.py.

Da die gitbash-Konsole nicht die Fledermaus- oder Powershell-Skripte verwenden kann und ich nicht wirklich zur Windows-Eingabeaufforderung cmd oder zu einer VM zurückkehren möchte, gibt es eine Möglichkeit, pyvenv zum Erstellen einer Shell zu bekommen Skript für mich, während ich auf Windows bin?

+0

Ich habe dieses genaue Problem gerade jetzt. Ich habe sogar Python 3.5 aktualisiert, aber das hat es nicht behoben. Hast du jemals eine Lösung gefunden? –

+0

Ich denke, das ist ein Fehler. Ich muss Windows 7, 8 für die Entwicklung auf Projekt verwenden, aber installieren Sie immer die Git Bash Shell zuerst, so dass ich diese klobige DOS-cmd-Shell vermeiden und meine grep, finden Sie Befehle, Aliase usw. Ich werde versuchen, ein venv zu generieren unter Linux und archiviere das aktive/deaktiviere für spätere Pasten auf Windows-basierten Systemen. –

Antwort

2

Dies ist (derzeit) von Design.

In Windows sind nur die Eingabeaufforderung (.bat) und PowerShell (.ps1) Skripts installiert. The venv documentation sagt "Der Aufruf des Skripts ist plattformspezifisch" - siehe die Tabelle in diesem Dokument, die Befehle zur Aktivierung des Programms auf verschiedenen Plattformen auflistet. Wenn Sie sich den venv-Quellcode anschauen, können Sie sehen, dass er zwischen Windows- und POSIX-Umgebungen unterscheidet und Skripte entsprechend installiert.

Es gibt jedoch eine open bug, die fordert, dass Skripte für andere Shells ebenfalls installiert werden sollten. Während das Warten darauf möglicherweise gelöst werden kann, gibt es eine Problemumgehung: Sie könnten das bash (oder andere Shell) -Skript von Ihrem lokalen Rechner oder von der cPython hg repository (direct link to the file) abrufen und es in den Ordner Skripts neben den Windows-spezifischen ablegen . Sie müssen __VENV_DIR__ in das Verzeichnis ändern, in dem sich Ihr venv befindet, __VENV_BIN_NAME__ in "bin" und __VENV_PROMPT__, was auch immer die bash-Eingabeaufforderung sein soll, wenn das venv aktiviert ist (zum Beispiel "(env)"). Berechtigungen festlegen, und Sie sollten gut gehen.

+0

Diese 'activate' Datei funktioniert nicht, da sie Platzhalter enthält, die vermutlich von einem Python-Skript aufgefüllt werden. – Eric

3

Sie müssen keine Sorge über das Vorhandensein von virtuellem env Bash-Skript gehen zu Git Bash und verwenden . Scripts/activate oder source Scripts/activate wie in der Antwort in diesem Thema erwähnten Can not activate a virtualenv in GIT bash mingw32 for Windows

+0

Sie erhalten den Fehler" Keine solche Datei oder Verzeichnis ", da es nur activate.bat und Activate.ps1 gibt nicht funktionieren. – nme

1

Der folgende Code erklären, wie die Einrichtung und starten virtualenv in einem Ordner mit dem Namen Projekt in Git Bash namens env_project:

mkdir project 
cd project/ 
virtualenv env_project 
. activate env_project/ 
+0

Ist dies ein neues/neues Feature? –

0

dies für mich gearbeitet: . Aktivieren Sie

Verwandte Themen