Wie aktiviere ich virtualenv?

233

Ich habe die Suche durchlaufen und verschiedene Alternativen ohne Erfolg ausprobiert und jetzt mehrere Tage damit verbracht - was mich verrückt gemacht hat.

Ausführen unter Red Hat Linux mit Python 2.5.2 Begann mit der Verwendung der neuesten Version von Virtualenv, konnte diese jedoch nicht aktivieren. Ich fand irgendwo einen Vorschlag für eine frühere Version, sodass ich Virtualenv 1.6.4 verwendet habe, da dies mit Python 2.6 funktionieren sollte.

Es scheint die virtuelle Umgebung in Ordnung zu installieren

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

Umgebung sieht ok aus

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

Ich versuche zu aktivieren

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Checked chmod

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

Problem, also habe ich es geändert

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

Versuchen Sie es activateerneut

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Immer noch keine Freude ...

Larry
quelle
6
Haben Sie versucht, "Quelle ~ / virtuell / bin / aktivieren"?
mmbrian
4
Von mit dem Verzeichnis Ihrer Umgebung tun . bin/activateund es sollte gut funktionieren.
Dansalmo
1
Ich denke, Sie mussten nur den sourceBefehl verwenden, dhsource bin/activate
Hack-R
1
Ich denke, Sie müssen dies aus dem virtualenv-Verzeichnis tun, also zuerst cd ~/.virtualenvs/*environmentname*dannsource ~/.virtual/bin/activate
11m0

Antworten:

311

Hier ist mein Workflow, nachdem ich einen Ordner erstellt und cdin ihn eingefügt habe:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
Topherjaynes
quelle
4
ok, habe das versucht keine Freude [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source virtual / bin / Quelle aktivieren: Undefinierte Variable. [necrailk @ server6 ~] $ sh virtuell / bin / aktivieren [necrailk @ server6 ~] $
Larry
8
Geben Sie nicht das $Zeichen ein, wie es hier aussieht : [necrailk@server6 ~]$ $source. $wird verwendet, um eine Eingabeaufforderung anzuzeigen.
Justin Garrick
3
Immer noch schlecht platziert () Fehler ... was tun?
2
gleicher Fehler hier :( user @ mintdesk ~ / python_v $ venv / bin / bash aktivieren: venv / bin / aktivieren: Berechtigung verweigert
Rui Lima
1
Eine Alternative zur $ . venv/bin/activate
ständigen
89

Sie haben vergessen, source bin/activatewo Quelle ein ausführbarer Name ist. Hat mich auch die ersten Male getroffen, leicht zu glauben, dass das Handbuch "Ausführen aus dem Stammverzeichnis des Umgebungsordners" sagt.

Keine Notwendigkeit, activateausführbar über zu machen chmod.

kqw
quelle
4
OP getippt . bin/activate. Beachten Sie das ., was ein Synonym für ist source.
Thomas
1
"Quelle ist ein ausführbarer Name" ... welche ausführbare Datei? cmd.exe? powershell.exe?
StingyJack
1
Ich versuche, eine Umgebung von cron aus zu aktivieren, und es würde nicht funktionieren, ohne ausführbar zu sein (chmod 755).
Tahlor
70

Du kannst tun

source ./python_env/bin/activate

oder gehen Sie einfach in das Verzeichnis

cd /python_env/bin/

und dann

source ./activate

Viel Glück.

cquptzzq
quelle
27

CD zum Umgebungspfad, gehen Sie zum Ordner bin. Zu diesem Zeitpunkt, wenn Sie den Befehl ls verwenden, sollte die Datei "enable" angezeigt werden.

Geben Sie jetzt ein

source activate
Reihan_amn
quelle
23

Gehen Sie zum Projektverzeichnis. In meinem Fall microblogist das Kolben Projektverzeichnis und unter microblogVerzeichnis sollte es sein appund venvOrdner. Führen Sie dann den folgenden Befehl aus. Dies ist einer, der für mich in Ubuntu funktioniert hat.

source venv/bin/activate

Geben Sie hier die Bildbeschreibung ein

GNK
quelle
17

Das Problem dort ist der /bin/.Befehl. Das ist wirklich komisch, seitdem. sollte immer ein Link zu dem Verzeichnis sein, in dem es sich befindet. (Ehrlich gesagt, .ich sehe nicht einmal, wie es möglich ist , es sei denn, es handelt sich um einen seltsamen Alias ​​oder eine seltsame Funktion.) Es ist auch etwas ungewöhnlich, dass Ihre Shell kein . eingebautes Verzeichnis hatsource .

Eine schnelle Lösung wäre, die virtuelle Umgebung einfach in einer anderen Shell auszuführen. (Ein offensichtlicher zweiter Vorteil ist, dass deactivateSie es einfach können , anstatt es zu müssen exit.)

/bin/bash --rcfile bin/activate

Wenn Ihre Shell unterstützt, können Sie auch den Nicht - Standard haben sourceBefehl, der sollte das gleiche tun wie ., aber möglicherweise nicht vorhanden. (Alles in allem sollten Sie versuchen herauszufinden, warum Ihre Umgebung seltsam ist, sonst werden Sie in Zukunft wieder Schmerzen haben.)

chmod +xDiese Dateien brauchten Sie übrigens nicht . Dateien müssen nur ausführbar sein, wenn Sie sie direkt ausführen möchten . In diesem Fall versuchen Sie, sie zu starten ., damit sie sie nicht benötigen.

Kojiro
quelle
2
Außerdem sollten Sie beziehen bin/activate, nicht .bin/activate. .
Könnte
@krlmlr Zwar hatte ich angenommen , dass ein Tippfehler war, da in der nächsten Zeile er cdin s bin.
Kojiro
1
hi [necrailk @ server6 ~ / virtual] $ source bin / enable Schlecht platzierte (). [necrailk @ server6 ~ / virtual] $
Larry
2
korjiro - Sie hatten Recht - ich musste herausfinden, warum die Umgebung seltsam war - es stellte sich heraus, dass es sich um eine nicht standardmäßige Bash-Implementierung handelte - die Umstellung auf Standard-Bash löste alle Probleme
Larry
@larry froh, dass es geklappt hat: Vergiss nicht, die Antwort als richtig zu markieren.
Kojiro
17

$ mkdir <YOURPROJECT> Erstellen Sie ein neues Projekt

$ cd <YOURPROJECT> Wechseln Sie in dieses Projekt

$ virtualenv <NEWVIRTUALENV> Neue virtuelle Umgebung erstellen

$ source <NEWVIRTUALENV>/bin/activate Aktivieren dieser neuen virtuellen Umgebung

Rost
quelle
12

anstatt ./activate

verwenden source activate

Siehe diesen Screenshot

Joy Mukherjee
quelle
9

Für Windows Sie können Folgendes ausführen:

So erstellen Sie die virtuelle Umgebung wie folgt: virtualenv envName –python = python.exe (falls keine Umgebungsvariable erstellt wird)

So aktivieren Sie die virtuelle Umgebung:> \ Pfad \ zu \ Umgebungsname \ Skripte \ Aktivieren

So deaktivieren Sie die virtuelle Umgebung:> \ Pfad \ zu \ Umgebung \ Skripte \ Deaktivieren

Es funktioniert gut mit der neuen Python-Version.

susan097
quelle
So fügen Sie klarstellende Details hinzu: Sobald Sie Ihre virtuelle Umgebung mit erstellt haben virtualenv venv und dann manuell in den Skriptordner wechseln, der nur zum Anzeigen der Dateien erstellt wurde, werden einige Aktivierungsdateien angezeigt. Hier aktivieren wir es für Windows. Also cdin Ihren Skriptordner und geben Sie . activatein Ihre Befehlszeile ein (stellen Sie sicher, dass nach dem Punkt ein Leerzeichen steht). Sie werden feststellen, dass sich Ihr Pfad in der Befehlszeile ändert, indem Sie (venv) am Anfang Ihres Pfads hinzufügen. Dies bedeutet, dass es jetzt aktiviert ist.
Azurespot
6
source virtualen_name/bin/activate

Code

Harish Kumawat
quelle
4
Diese Antwort ist bereits (mit weiteren Informationen) in vorhandenen Antworten enthalten. Wenn Sie ältere Fragen mit Antworten beantworten, stellen Sie bitte sicher, dass Ihre Antwort etwas Neues beiträgt oder von höherer Qualität ist als die vorhandenen Antworten.
Mark Rotteveel
4

Ich würde virtualenvwrapper auch empfehlen. Es wirkt Wunder für mich und wie ich immer Probleme mit der Aktivierung habe. http://virtualenvwrapper.readthedocs.org/en/latest/

Erika
quelle
Hallo Quelle und. (Punkt) scheinen austauschbar zu sein necrailk @ server6 ~ / virtual] $ source bin / enable Badly platzierte () 's. Dies scheint nicht zu funktionieren
Larry
meine bin Erlaubnis: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika
Laut den Dokumenten ist virtuallenvwrapper derzeit nicht auf Python2.5 getestet, daher ist es nicht angenehm, meine möglichen Probleme zu
ergänzen
Nur eine Zusammenfassung. Ich habe festgestellt, dass mein Host eine nicht standardmäßige Shell verwendet. Beim Wechsel zu normalem Bash funktionierte alles wie es sollte. Jetzt wird die virtuelle Umgebung in der Eingabeaufforderung angezeigt und alle Pfade werden entsprechend geändert. Vielen Dank für die Hilfe und Anregungen.
Larry
3

Erstellen Sie Ihre eigene virtuelle Python-Umgebung mit dem Namen <Your Env _name >:. Ich habe es VE gegeben.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

Führen Sie Folgendes aus, um Ihre neue virtuelle Umgebung zu aktivieren ( beachten Sie, dass sie nicht ./hier ist ):

. VE/bin/activate

Beispielausgabe ( Notizaufforderung geändert ):

(VE)c34299@a200dblr$

Sobald Ihre virtuelle Umgebung eingerichtet ist, können Sie das VirtualenvRepo entfernen .

Manas
quelle
2
Sie sollten den Hauptzweig von virtualenv nicht auschecken und erwarten, dass er tatsächlich funktioniert. Verwenden Sie stattdessen eine getaggte Version.
Jon Bringhurst
3

Ändern Sie auf einem Mac die Shell in BASH (beachten Sie, dass die virtuelle Umgebung nur in der Bash-Shell funktioniert).

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

Bingo, es hat funktioniert. Siehe Eingabeaufforderung geändert.

Unter Ubuntu:

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

Hinweis: Eingabeaufforderung geändert

sunil_kumar_sahu
quelle
2

Ich hatte Probleme, Source / Bin / Activate auszuführen, dann wurde mir klar, dass ich tcsh als Terminal-Shell anstelle von Bash verwendete. Nach dem Wechsel konnte ich venv aktivieren.

Jason
quelle
1

Windows 10

In Windows werden folgende Verzeichnisse erstellt:

Windows 10 Virtual Environment-Verzeichnisse

So aktivieren Sie die virtuelle Umgebung in Windows 10

down\scripts\activate

Das Verzeichnis \ scripts enthält eine Aktivierungsdatei.

Linux Ubuntu

In Ubuntu werden folgende Verzeichnisse erstellt:

Linux Ubuntu Virtual Environment-Verzeichnisse

So aktivieren Sie die virtuelle Umgebung unter Linux Ubuntu.

source ./bin/activate

Das Verzeichnis / bin enthält eine Aktivierungsdatei.


Virtuelle Umgebung von Windows nach Linux kopiert Ubuntu umgekehrt

Wenn der Ordner für die virtuelle Umgebung von Windows nach Linux Ubuntu kopiert wurde, dann laut Verzeichnissen:

source ./down/Scripts/activate
Muhammad Faizan Fareed
quelle
1

Führen Sie diesen Code aus. Er wird aktiviert, wenn Sie sich auf einem Windows-Computer befinden
source venv/Scripts/activate

Geben Sie hier die Bildbeschreibung ein

Jeffery White
quelle
0

Wahrscheinlich etwas spät, um meine Antwort hier zu posten, aber ich werde trotzdem posten, es könnte jedoch jemandem zugute kommen,

Ich hatte das gleiche Problem gehabt,

Der Hauptgrund ist, dass ich die virtuelle Umgebung als "Root" -Benutzer erstellt habe, aber später versucht habe, sie mit einem anderen Benutzer zu aktivieren.

chmod funktioniert nicht, da Sie nicht der Eigentümer der Datei sind. Daher besteht die Alternative darin, chown zu verwenden (um den Eigentümer zu ändern).

Zum Beispiel:

Wenn Sie Ihre virtuelle Umgebung unter / home / abc / ENV erstellt haben

Dann CD nach / home / abc

und führen Sie den folgenden Befehl aus: chown -Rv [Benutzer, an den Sie den Eigentümer ändern möchten] [Ordner / Dateiname, dessen Eigentümer geändert werden muss]

In diesem Beispiel wären die Befehle: chown -Rv abc ENV

Nachdem der Besitz erfolgreich geändert wurde, können Sie einfach source /ENV/bin/./activate ausführen und sollten in der Lage sein, die virtuelle Umgebung korrekt zu aktivieren.

Lokendra
quelle
0

1- Öffnen Sie Powershell und navigieren Sie zu Ihrem Anwendungsordner. 2- Geben Sie Ihren virtuellen Ordner ein. Beispiel: cd. \ Venv \ Scripts \ 3- Aktive virtuelle Umgebung nach Typ. \ Aktivieren

aly
quelle