it-swarm.com.de

Installierte virtualenv und virtualenvwrapper: Python sagt, dass kein Modul namens virtualenvwrapper heißt

Viele andere Themen zu ähnlichen Themen, aber keine, bei denen ich genau den gleichen Fall gefunden hätte wie ich. Also hier geht es:

Was ich getan habe:

  • Ran: Sudo easy_install pip
  • Ran: Sudo pip install virtualenv
  • Ran: Sudo pip install virtualenvwrapper

Aktuellen Zustand:

  • .bash_profile

    export PATH=/usr/local/bin:$PATH
    export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
    export WORKON_HOME=$HOME/.virtualenvs
    export PIP_VIRTUALENV_BASE=$WORKON_HOME
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    
  • Das Ausführen von mkvirtualenv test führt zu:

    New python executable in trunk/bin/python
    Installing setuptools, pip...done.
    /usr/bin/python: No module named virtualenvwrapper
    
  • Das manuelle Überprüfen von '/ usr/local/bin' zeigt, dass virtualenvwrapper.sh existiert

  • Im Gegensatz zu einigen anderen Fragen, die ich dazu gesehen habe, erhalte ich keine Meldung über den virtualenvwrapper, wenn ich ein neues Terminalfenster starte
  • Das Ausführen von "welcher Python" führt zu: /usr/bin/python

Was ich probiert habe:

  • Ich überprüfe meinen Weg, um sicherzustellen, dass es so aussieht, als sollte es sein
  • Pip erneut installieren und dann mit dem erneut installierten pip virtualenv und virtualenvwrapper erneut installieren

Jede Hilfe, die dies zum Laufen bringt, wäre sehr dankbar.

32
user3699754

Ich habe es geschafft, dies zu erreichen, nachdem ich das gleiche Problem wie hier beschrieben hatte, indem ich mein ~/.bash_profile editierte und folgendes hinzufügte:

export WORKON_HOME=$HOME/code/.virtualenvs
export PROJECT_HOME=$HOME/code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

source /usr/local/bin/virtualenvwrapper.sh

Speichern Sie, schließen Sie.

dann: 

$ source ~/.bash_profile

und: 

$ mkvirtualenv test
73
user3418052

Ich hatte das gleiche Problem bei der Einrichtung von Virtualenvwrapper auf Ubuntu.

Ich hatte virtualenv, virtualenvwrapper mit pip installiert, wodurch diese Module im Site-Paket von python3.5 installiert wurden. Wie habe ich das herausgefunden?

Öffnen Sie Ihr Terminal und geben Sie ein

$ pip --version

pip 9.0.1 aus /home/clyton/.virtualenvs/test1/lib/python3.5/site-packages (python 3.5)

Dann überprüfte ich die Variable VIRTUALENVWRAPPER_PYTHON, deren Wert __./usr/bin/python war. Auf Ihrem Terminal und Typ

$ ls -l $VIRTUALENVWRAPPER_PYTHON

lrwxrwxrwx 1 root root 9 Dec 10  2015 **/usr/bin/python -> python2.7**

Wie Sie sehen, zeigt diese Variable auf python2.7 und Sie haben möglicherweise virtualenv in einem anderen Python-Site-Paket installiert.

Um dieses Problem zu beheben, fügen Sie einfach die untere Zeile in Ihre Bashrc ein

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5

HINWEIS: Setzen Sie den obigen Wert auf die Python-Version, mit der virtualenv installiert wurde. In meinem Fall war es Python3.5, also habe ich diesen Wert eingestellt. Wie kann man herausfinden, welche Python-Version für die Installation von Virtualenv verwendet wird? Geben Sie erneut pip --version in das Terminal ein. 

Öffnen Sie dann eine neue Shell-Sitzung und versuchen Sie es erneut mit mkvirtualenv. Diesmal sollte es klappen.

25
clyton dantis

Wenn Sie sich das Skript virtualenvwrapper.sh ansehen, finden Sie folgende Zeilen:

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] 
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

Wenn Sie VIRTUALENVWRAPPER nicht entsprechend Ihrer Python-Version manuell exportieren, wird der Systemstandard angenommen, bei dem das Paket virtualenvwrapper nicht installiert ist.

Ich habe das so korrigiert:

echo "export VIRTUALENVWRAPPER_PYTHON=$(which python3.6)" >> ~/.zshrc

Dies ist alles auf der offiziellen Website hier dokumentiert.

12
wulfgarpro

versuchen Sie, Virtualenv und Virtualenvwrapper mit pip2 install virtualenv virtualenvwrapper zu installieren. es scheint als pip install virtualenv und es ist Wrapper für Python 3 als Standard

5
asem bused

Habe diesen Fehler erhalten, nachdem Homebrew und Python kürzlich (Sommer 2017) aktualisiert wurden. Das Problem in meinem Fall war, dass Homebrew das System nicht mehr überschreibt python und ich hatte nicht virtualenv und virtualenvwrapper für das System Python installiert.

In meinem Fall bestand die Lösung darin, Folgendes zu ~/.bash_profile (Oder ~/.zshrc) Hinzuzufügen:

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

Dies ließ python auf die Brew-Version von python) verweisen und gab mir auch pip zurück. Diese Version von python hatte virtualenv und virtualenvwrapper wurden installiert, sodass der Fehler nicht mehr auftritt. Weitere Informationen finden Sie im Abschnitt zu den Vorsichtsmaßnahmen unter brew info python und https://github.com/Homebrew/homebrew-core/issues/15746) für weitere Informationen

2
bjorgvin

Versuchen Sie, Ihre virtualenv und virtualenvwrapper zu deinstallieren und sie erneut zu installieren, indem Sie pip verwenden (überprüfen Sie, ob Sie Ihren Pip symbolisieren oder ihm einen anderen Alias ​​für eine andere Version zuweisen) in Version 2.7 (glaube ich).

Ich bin auf den gleichen Fehler gestoßen und habe das getan und mein Problem gelöst.

Ich benutze Ubuntu-Maschine.

Ich hoffe diese Hilfe.

2
manilaT

In meinem Fall fügte das Hinzufügen dieser Zeile in meine .zshrc-Datei den Trick ein:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7

denken Sie daran, ~/.zshrc als Quelle zu verwenden, um die Änderung an Ihrem aktuellen Terminal zu aktualisieren.

1
pecai

Ich weiß nicht, ob es für jeden relevant ist, aber ich habe diesen Fehler erhalten, während ~/.zshrc bearbeitet wurde, während die Virtualenv aktiv ist. Also musste ich deactivate und dann rmvirtualenv env_name, um die Fehler zu entfernen. Und dann habe ich die env neu erstellt: mkvirtaulenv env_name und workon env_name und diesmal habe ich keine Fehler erhalten.

Hoffe es hilft jemandem. 

0
abe312