web-dev-qa-db-de.com

FEHLER: Virtualenvwrapper konnte Virtualenv in Ihrem Pfad nicht finden

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.

24
vmonteco

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.

12
vmonteco

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.

25
Sudheer K
  1. 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

  2. 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
    
18
Slark
  1. finden Sie, wo sich Ihr virtualenvwrapper befindet. in meinem Fall 

~/.local/bin

  1. Fügen Sie diesen Pfad in Ihrer Shell-Konfiguration [.bashrc oder .zshrc oder was auch immer] einfach hinzu

PFAD = $ PFAD:

zum Beispiel

PATH = $ PATH: ~/.local/bin

Vergessen Sie nicht, die Shell neu zu starten .. oder laden Sie die Konfiguration erneut ...

3

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.

3
Andrea

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.

1
Josh J
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.

0
userx

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. 

0
asfawh

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.

0
Mikebarson