Ich versuche, eine Virtualenv mit virtualenvwrapper
zu erstellen, aber wenn ich mkvirtualenv
verwende, bekomme ich Folgendes:
ERROR: virtualenvwrapper could not find virtualenv in your path
Ich nahm an, dass es einPYTHONPATHproblem ..__ war, aber wenn ich einen pip show virtualenv
mache, bekomme ich folgendes:
---
Metadata-Version: 2.0
Name: virtualenv
Version: 13.1.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: [email protected]
License: MIT
Location: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages
Requires:
Und hier ist meinPYTHONPATH:
/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs /zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/ 2.7/lib/python/site-packages: ~/.brew/Cellar
Es enthält das Verzeichnis, das Virtualenv enthält!
(i-e: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages )
Mein ~/.zshrc enthält:
export WORKON_HOME=~/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME"/Library/Python/2.7/bin/virtualenvwrapper.sh"
EDIT: Virtualenvwrapper.sh ist in bash geschrieben. Vielleicht sollte ich meinenPFADanstelle meinesPYTHONPATHüberprüfen?
Also, was könnte das Problem sein? Wie könnte ich das beheben?
Vielen Dank im Voraus für Ihre Hilfe.
Ich habe endlich herausgefunden, was das Problem war:
virtualenvwrapper.sh ist in BASH und nicht in Python ..__ geschrieben. virtualenv wird von einer Shell (zsh) ..__ aufgerufen. Ich musste mich nicht um meinen PYTHONPATH kümmern, sondern um meinen PFAD (ich konnte ohnehin virtualenv von meiner Python-Shell importieren).
Ich habe gerade das richtige Verzeichnis zu meinem PFAD hinzugefügt und alles hat gut funktioniert.
Durch die Neuinstallation von Virtualenv wurde mein Problem behoben.
Ich hatte das gleiche Problem.
$ mkvirtualenv mysite
ERROR: virtualenvwrapper could not find virtualenv in your path
Nach vielen zeitaufwändigen Bemühungen entschied ich mich für eine erneute Installation von virtualenv.
Sudo apt install virtualenv
Dies behebte meine Probleme. Ich hatte bereits Virtualenv installiert. Aber ich denke, es ist kaputt gegangen oder auf einige Fehler gestoßen.
Sudo find / -name "virtualenv"
Dann finde ich den Pfad der ausführbaren Datei:
/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
Berühren Sie einen Softlink im Verzeichnis /usr/local/bin/
oder fügen Sie den Pfad zu .bash_profile
hinzu. Ich bevorzuge den vorherigen:
Sudo ln -s /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
~/.local/bin
PFAD = $ PFAD:
zum Beispiel
PATH = $ PATH: ~/.local/bin
Vergessen Sie nicht, die Shell neu zu starten .. oder laden Sie die Konfiguration erneut ...
Ich verwende python3 mit dem auf Ubuntu 18.04 installierten virtualenvwrapper, mit pip3 ohne Sudo. Wenn Sie sich in dieser Situation befinden, könnte meine Konfiguration interessant sein.
Am Ende meines .bashrc habe ich folgende Zeilen hinzugefügt (denken Sie daran, geben Sie Ihren Benutzernamen in das Feld YOUR_USERNAME ein):
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/YOUR_USERNAME/.local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Starten Sie dann das CLI neu mit Strg-D Strg-T oder laden Sie die Konfiguration mit source ~/.bashrc
..__ neu. Versuchen Sie die Installation mit:
lsvirtualenv
mkvirtualenv test
workon test
deactivate
rmvirtualenv test
Wenn Sie eine virtuelle Umgebung erstellen und löschen könnten, können Sie loslegen.
Ihr PYTHONPATH lässt mich glauben, dass Sie Homebrew installiert haben. Es hört sich an, als ob der Virtualenvwrapper entweder mit Ihrem System-Pip oder Ihrem Homebrew-Pip installiert wurde, während er mit dem gegenüberliegenden Python-Interpreter ausgeführt wird.
ERROR: virtualenvwrapper could not find virtualenv in your path
Dieser Fehler bedeutet, dass sich das Programm virtualenv
nicht in Ihrem Systempfad befindet. Dies geschieht meistens, wenn Sie virtualenv
über pip ohne Sudo installieren. Diese Art der Installation speichert Daten im lokalen Benutzerverzeichnis e.g ~/.local/bin
. Der erste Schritt ist also herauszufinden, wo diese Binärdatei vorhanden ist. Sie können dies mit dem Programm locate
tun. Aktualisieren Sie zuerst die Datenbank mit Sudo updatedb
. Dann renne locate *bin/virtualenv
. Welchen Pfad Sie auch immer erhalten, fügen Sie ihn in die Systempfadvariable ein. Dies können Sie tun, indem Sie die folgende Zeile in Ihre Shell-Konfigurationsdatei einfügen, z. ~/.bashrc or ~/.zshenv
.
export PATH=$PATH:/your/path
z.B.
export PATH=$PATH:~/.local/bin
Öffnen Sie nun die neue Shell und versuchen Sie es erneut. Fehler sollte weg sein.
Ich hatte die gleichen Probleme und habe viele Dinge ausprobiert. Als Lösung habe ich drei Pip-Versionen gefunden, Pip mit 2.7, 3.6 und 3.7. und 3.6 funktionierte für viele Dinge gut, und als Sudo pip3.6 install virtualenv
installieren, und es funktioniert gut . Ich würde vorschlagen, überprüfen Sie Ihre Pip-Version und versuchen Sie, basierend auf Ihrem Pip-Ver.
So wie ich es gemacht habe (mit zsh):
export PATH=$HOME/bin:/usr/local/bin:$PATH:/Users/username/Library/Python/2.7/bin:$PATH
Ich habe einfach die Datei von virtualenvwrapper.sh in diesem Pfad /Users/username/Library/Python/2.7/bin:$PATH
gefunden.
und fügte diesen Pfad zu PATH hinzu.