Unter Windows habe ich Python 3.7 installiert und konnte virtualenv
immer noch nicht aktivieren von Gitbash mit ./Scripts/activate
obwohl es von Powershell aus funktionierte, nachdem Set-ExecutionPolicy Unrestricted
ausgeführt wurde in Powershell und ändern Sie die Einstellung auf "Ja zu allen".
Ich mag Powershell nicht und benutze gerne Gitbash, also um virtualenv
zu aktivieren Navigieren Sie in Gitbash zuerst zu Ihrem Projektordner, verwenden Sie ls
, um den Inhalt des Ordners aufzulisten und sicherzustellen, dass "Scripts" angezeigt wird. Wechseln Sie mit cd Scripts
in das Verzeichnis "Scripts". verwenden Sie . activate
, sobald Sie sich im Pfad "Scripts" befinden um virtualenv
zu aktivieren . Vergessen Sie nicht das Leerzeichen nach dem Punkt.
Ja, im Grunde ist es das, was virtualenv macht, und das ist, was der activate
tut Befehl ist für, aus dem Dokument hier:
Skript aktivieren
In einer neu erstellten virtuellen Umgebung gibt es ein bin/activate-Shell-Skript oder eine Scripts/activate.bat-Stapeldatei unter Windows.
Dadurch wird Ihr $PATH topoint auf das Verzeichnis „virtualenv bin/directory“ geändert. Im Gegensatz zu workingenv ist dies alles, was es tut; es ist eine Bequemlichkeit. Aber wenn Sie den vollständigen Pfad wie /path/to/env/bin/python script.py verwenden, müssen Sie die Umgebung nicht zuerst aktivieren. Sie müssen source verwenden, da es die Umgebung vor Ort ändert. Nach dem Aktivieren einer Umgebung können Sie die Änderungen mit der Funktion Deaktivieren rückgängig machen.
Das Aktivierungsskript ändert auch Ihren Shell-Prompt, um anzuzeigen, welche Umgebung gerade aktiv ist.
Sie sollten also einfach activate
verwenden Befehl, der all das für Sie erledigt:
> \path\to\env\bin\activate.bat
Normalerweise virtualenv
erstellt Umgebungen im aktuellen Verzeichnis. Es sei denn, Sie beabsichtigen, virtuelle Umgebungen in C:\Windows\system32
zu erstellen Aus irgendeinem Grund würde ich ein anderes Verzeichnis für Umgebungen verwenden.
Sie sollten sich nicht mit Pfaden herumschlagen müssen:Verwenden Sie den activate
Skript (in <env>\Scripts
), um sicherzustellen, dass die ausführbare Python-Datei und der Pfad umgebungsspezifisch sind. Sobald Sie dies getan haben, ändert sich die Eingabeaufforderung, um die Umgebung anzuzeigen. Sie können dann einfach easy_install aufrufen und alles, was Sie auf diese Weise installieren, wird in dieser Umgebung installiert. Verwenden Sie deactivate
um alles auf den Stand vor der Aktivierung zurückzusetzen.
Beispiel:
c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>
Beachten Sie, dass ich keinen Pfad für deactivate
angeben musste - activate
erledigt dies für Sie, sodass "Python" bei Aktivierung Python in der virtuellen Umgebung ausführt, nicht Ihr System-Python. (Probieren Sie es aus - machen Sie einen import sys; sys.prefix
und es sollte das Stammverzeichnis Ihrer Umgebung ausgeben.)
Sie können einfach eine neue Umgebung aktivieren, um zwischen Umgebungen/Projekten zu wechseln, aber Sie müssen den vollständigen Pfad für activate
angeben damit es weiß, welche Umgebung aktiviert werden soll. Sie sollten niemals explizit mit PATH oder PYTHONPATH herumspielen müssen.
Wenn Sie Windows Powershell verwenden, können Sie einen Wrapper nutzen. Unter Linux die virtualenvwrapper
(der Link zeigt auf eine Portierung davon nach Powershell) macht das Leben mit virtualenv
noch einfacher.
Aktualisierung: Nicht ganz falsch, aber vielleicht nicht ganz im Sinne von virtualenv
. Sie könnten einen anderen Weg gehen:Wenn Sie beispielsweise Django und alles andere, was Sie für Ihre Website benötigen, in Ihrer virtuellen Umgebung installieren, können Sie in Ihrem Projektverzeichnis (in dem Sie Ihre Website entwickeln) mit aktivierter virtueller Umgebung arbeiten. Da es aktiviert war, würde Ihr Python Django und alles andere finden, was Sie einfach_in der virtuellen Umgebung installiert haben:und weil Sie in Ihrem Projektverzeichnis arbeiten, wären Ihre Projektdateien auch für Python sichtbar.
Weiteres Update: Sie sollten pip
verwenden können , distribute
statt setuptools
, und einfach nur python setup.py install
mit virtualenv
. Stellen Sie einfach sicher, dass Sie eine Umgebung aktiviert haben, bevor Sie etwas darin installieren.