Nachdem ich die Anweisungen in Doug Hellmans virtualenvwrapper
post befolgt habe, konnte ich immer noch keine Testumgebung starten.
[[email protected] ~]$ mkvirtualenv test
-bash: mkvirtualenv: command not found
[[email protected] ~]$
Es sollte beachtet werden, dass ich WORKON_HOME
verwende, der sich nicht in meinem $HOME
befindet. Ich habe versucht, nach /usr/local/bin/virtualenvwrapper.sh
zu suchen, wie in den Installationsdokumenten virtualenvwrapper
gezeigt, aber es existiert nicht.
Ich verwende CentOS 6 und Python 2.6.6, wenn dies wichtig ist.
# File: ~/.bash_profile
# ...
export WORKON_HOME="/opt/virtual_env/"
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc"
Lösung 1 :
Aus irgendeinem Grund wurde virtualenvwrapper.sh
in /usr/bin/virtualenvwrapper.sh
und nicht unter /usr/local/bin
installiert.
Folgendes in meinem .bash_profile
funktioniert ...
source "/usr/bin/virtualenvwrapper.sh"
export WORKON_HOME="/opt/virtual_env/"
Meine Installation scheint gut zu funktionieren, ohne dass virtualenvwrapper_bashrc
Lösung 2 :
Alternativ können Sie, wie unten erwähnt, die Chance nutzen, dass virtualenvwrapper.sh
bereits in der PATH
Ihrer Shell enthalten ist, und einfach einen source `which virtualenvwrapper.sh`
ausgeben.
Versuchen:
source `which virtualenvwrapper.sh`
Die Backticks sind Befehlssubstitutionen - sie nehmen alles, was das Programm ausgibt, und fügen es in den Ausdruck ein. In diesem Fall prüft "which" $ PATH auf "virtualenvwrapper.sh" und gibt den Pfad dazu aus. Das Skript wird dann von der Shell über 'source' gelesen.
Wenn Sie möchten, dass dies bei jedem Neustart der Shell geschieht, sollten Sie zuerst die Ausgabe des Befehls "which" verwenden und dann die Zeile "source" in die Shell einfügen.
echo "source /path/to/virtualenvwrapper.sh" >> ~/.profile
^ Abhängig von Ihrer Shell kann dies etwas abweichen. Achten Sie auch darauf, dass Sie nicht ein einzelnes> verwenden, da dies Ihre ~/.profile: -o abschneidet
Ich hatte das gleiche Problem unter OS X 10.9.1 mit Python 2.7.5. Keine Probleme mit WORKON_HOME
für mich, aber ich musste manuell source "/usr/local/bin/virtualenvwrapper.sh"
zu ~/.bash_profile
(oder ~/.bashrc
in Unix) hinzufügen, nachdem ich pip install virtualenvwrapper
ausgeführt hatte.
Voraussetzungen zum Ausführen dieses Befehls -
1) pip (rekursives Akronym: P ip I nstall P ython) ist ein Paketverwaltungssystem zum Installieren und Verwalten von in Python geschriebenen Softwarepaketen. Viele Pakete können im Python Package Index (PyPI) gefunden werden.
Sudo apt-get install python-pip
2) Installieren Sie die virtuelle Umgebung. Wird zum Erstellen einer virtuellen Umgebung verwendet, um Pakete und Abhängigkeiten mehrerer voneinander isolierter Projekte zu installieren.
Sudo pip install virtualenv
3) Installieren Sie den Wrapper für die virtuelle Umgebung Über den virtuellen Wrapper für die Umgebung
Sudo pip install virtualenvwrapper
Nach dem Installieren der Voraussetzungen müssen Sie den Wrapper für die virtuelle Umgebung in Aktion setzen, um eine virtuelle Umgebung zu erstellen. Im Folgenden sind die Schritte -
1) Setzen Sie das virtuelle Umgebungsverzeichnis in Pfadvariable -export WORKON_HOME=(directory you need to save envs)
.
2) source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME
Wie von @Mike erwähnt, kann die Quelle "which virtualenvwrapper.sh" oder which virtualenvwrapper.sh
zum Auffinden der Datei "virtualenvwrapper.sh" verwendet werden.
Sie sollten am besten zwei Zeilen in ~/.bashrc einfügen, um zu vermeiden, dass die obigen Befehle jedes Mal beim Öffnen einer neuen Shell ausgeführt werden. Mehr brauchen Sie nicht, um eine Umgebung mit mkvirtualenv zu erstellen.
Punkte zu beachten -
Da ich gerade durchgezogen bin, werde ich versuchen, die Antwort zu schreiben, die ich mir vor zwei Stunden gewünscht hätte. Dies ist für Leute, die nicht nur die Copy & Paste-Lösung wollen
Erstens: Wundern Sie sich, warum das Kopieren und Einfügen von Pfaden für einige Leute funktioniert, während es für andere nicht funktioniert? Es gibt tatsächlich verschiedene Versionen von Virtualenv und Virtualenvwrapper, die entweder mit Python 2 oder 3 arbeiten. Wenn Sie Python 2 verwenden, installieren Sie es wie folgt:
Sudo pip install virutalenv
Sudo pip install virtualenvwrapper
Wenn Sie planen, Python 3 zu verwenden, installieren Sie die entsprechenden Python 3-Versionen
Sudo pip3 install virtualenv
Sudo pip3 install virtualenvwrapper
Sie haben die Pakete für Ihre Python-Version erfolgreich installiert und sind fertig, oder? Nun, probier es aus. Geben Sie workon
in Ihr Terminal ein. Ihr Terminal kann den Befehl nicht finden (workon
ist ein Befehl von virtualenvwrapper). Natürlich nicht. Workon
ist eine ausführbare Datei, die Ihnen erst zur Verfügung steht, wenn Sie die Datei virtualenvwrapper.sh
laden. Aber die offizielle Installationsanleitung hat Sie hierüber berichtet, oder? Öffnen Sie einfach Ihr .bash_profile und fügen Sie Folgendes ein, heißt es in der Dokumentation:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
Besonders der Befehl source /usr/local/bin/virtualenvwrapper.sh
scheint hilfreich zu sein, da der Befehl die gewünschte Datei virtualenvwrapper.sh
zu laden/zu laden scheint, die alle Befehle enthält, mit denen Sie arbeiten möchten, wie workon
und mkvirtualenv
. Aber ja, nein. Wenn Sie der offiziellen Installationsanleitung folgen, erhalten Sie sehr wahrscheinlich den Fehler aus dem ersten Beitrag: mkvirtualenv: command not found
. Es wird immer noch kein Befehl gefunden und Sie sind immer noch frustriert. Also, was ist das Problem hier? Das Problem ist, dass es bei virtualenvwrapper.sh nicht das ist, wo Sie es gerade suchen. Kurze Erinnerung ... Sie suchen hier:
source /usr/local/bin/virtualenvwrapper.sh
Es gibt jedoch einen recht einfachen Weg, um die gewünschte Datei zu finden. Schreib einfach
which virtualenvwrapper
zu Ihrem Terminal. Dadurch wird Ihr PFAD nach der Datei durchsucht, da sich diese Datei höchstwahrscheinlich in einem Ordner befindet, der im PFAD Ihres Systems enthalten ist.
Wenn Ihr System sehr exotisch ist, wird die gewünschte Datei außerhalb eines PATH-Ordners ausgeblendet. In diesem Fall finden Sie den Pfad zu virtalenvwrapper.sh
mit dem Shell-Befehl find / -name virtualenvwrapper.sh
Ihr Ergebnis könnte ungefähr so aussehen: /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
Herzlichen Glückwunsch. You have found your missing file!
. Jetzt müssen Sie nur noch einen Befehl in Ihrem .bash_profile ändern. Nur ändern:
source "/usr/local/bin/virtualenvwrapper.sh"
zu:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"
Herzliche Glückwünsche. Virtualenvwrapper funktioniert jetzt auf Ihrem System. Aber Sie können noch eine Sache tun, um Ihre Lösung zu verbessern. Wenn Sie die Datei virtualenvwrapper.sh
mit dem Befehl which virtualenvwrapper.sh
gefunden haben, wissen Sie, dass sie sich in einem Ordner des PFADs befindet. Wenn Sie also nur den Dateinamen schreiben, geht Ihr Dateisystem davon aus, dass sich die Datei in einem PATH-Ordner befindet. Sie müssen also nicht den vollständigen Pfad ausschreiben. Schreib einfach:
source "virtualenvwrapper.sh"
Das ist es. Sie sind nicht mehr frustriert. Du hast dein Problem gelöst. Hoffnungsvoll.
Unter Windows 7 und Git Bash hilft mir das:
Restart Ihr git bash und der Befehl mkvirtualenv funktionieren jetzt einwandfrei.
Mit Git Bash unter Windows 10 und Python36 für Windows fand ich die Datei virtualenvwrapper.sh an einer etwas anderen Stelle
source virtualenvwrapper.sh
/c/users/[myUserName]/AppData/Local/Programs/Python36/Scripts
Unter Windows 10 ersetze ich "pip mkvirtualenv myproject" durch "mkvirtualenv myproject", um die virtuelle Umgebung zu erstellen, und das funktioniert gut.
Mein Problem in Ubuntu 14.04 OS mit Python 2.7.6 wurde behoben, indem unter zwei Zeilen ~/.bash_profile (oder ~/.bashrc in Unix) hinzugefügt wurde.
source "/usr/local/bin/virtualenvwrapper.sh"
export WORKON_HOME = "/ opt/virtual_env /"
Und dann diese beiden Linien auf das Terminal ausführen.
Verwenden Sie dieses Verfahren, um eine virtuelle Umgebung in Ubuntu zu erstellen.
Schritt 1 Rohr einbauen
Sudo apt-get install python-pip
Schritt 2 Installieren Sie Virtualenv
Sudo pip install virtualenv
Schritt 3 Erstellen Sie ein Verzeichnis, um Ihre Virtualenvs zu speichern (ich verwende ~/.virtualenvs)
mkdir ~/.virtualenvs
oder verwenden Sie diesen Befehl, um eine bestimmte Version von Python in env zu installieren
virtualenv -p /usr/bin/python3.6 venv
Setp 4
Sudo pip install virtualenvwrapper
Schritt 5
Sudo nano ~/.bashrc
Schritt 6 Fügen Sie diesen zwei Zeilencode am Ende der bashrc-Datei hinzu
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
Schritt 7 neues Terminal öffnen (empfohlen)
Schritt 8 Erstellen Sie eine neue Virtualenv
mkvirtualenv myawesomeproject
Schritt 9 Verwenden Sie den Befehl workon zum Laden oder Wechseln zwischen virtualenvs:
workon myawesomeproject
Schritt 10 Um Ihre neue Virtualenv zu beenden, verwenden Sie
deactivate
und mach mit pip vs pip3