2013-05-09 10 views
22

Ich versuche virtualenv und/oder virtualenvwrapper auf einem Mac OS X 10.8.3pip: Es konnte keine aktivierte virtualenv (erforderlich) finden

ich mit Python für die letzten zwei Tage gekämpft haben zu instal. Endlich konnte ich Python 2.7.4 mit brauen installieren. Zuvor hatte ich virtualenv mit easy_install installiert. Dann habe ich versucht, es zu deinstallieren, indem ich versuche, meinen Computer in die gleiche Situation zu bringen wie meine Kollegen. Vielleicht habe ich es mit Erfolg deinstalliert, vielleicht auch nicht. Ich weiß nicht, wie ich es testen soll. Jetzt soll ich mit installieren virtualenv -

pip install virtualenv 

Aber es gibt mir -

Could not find an activated virtualenv (required). 

pip install virtualenvwrapper gibt genau die gleiche Leistung.

Auch die Variable: PIP_RESPECT_VIRTUALENV ist null:

echo $PIP_RESPECT_VIRTUALENV 

Wie kann ich dieses Problem lösen?

Dank

+0

Welche Version von Pip und Python? –

+0

Python ist 2.7.4. Und der Pip ist der eine drin. Danke für die Frage. –

Antwort

61

Öffnen Sie Ihre ~/.bashrc Datei und sehen, ob diese Zeile gibt es -

export PIP_REQUIRE_VIRTUALENV=true 

Es könnte die Mühe verursacht werden. Wenn es da ist, ändern Sie ihn auf false und laufen -

source ~/.bashrc 

Wenn nicht, export PIP_REQUIRE_VIRTUALENV=false vom Terminal laufen.

+0

Tatsächlich war der Zeilenexport PIP_RESPECT_VIRTUALENV = true da. Also habe ich es kommentiert. Dann die Datei erneut ausführen, aber es würde immer noch nicht funktionieren. Also habe ich ein neues Terminal eröffnet, und jetzt hat es funktioniert.Vielen Dank. –

+1

Ja, es muss für mich auf falsch gesetzt werden. – cbron

+3

Für jeden, der darauf stößt: Bitte beachten Sie den Unterschied zwischen 'PIP_RESPECT_VIRTUALENV' (wie in der ursprünglichen Frage erwähnt) und' PIP_REQUIRE_VIRTUALENV', was die oben erwähnte Lösung ist. – yvandermeer

2

@Bibhas hat es; +1, um nach export PIP_REQUIRE_VIRTUALENV=true in ~/.profile oder ~/.bashrc zu suchen. Sie können die Einstellung in Ihrer aktuellen Shell mit env |grep PIP_REQUIRE_VIRTUALENV bestätigen.

Diese Einstellung ist eine gute Sicherheitsüberprüfung; in den meisten Fällen möchten Sie Dinge in virtualenv installieren. Manchmal möchten Sie jedoch arbeiten mit dem globalen/System Python. Sehen Sie sich in diesem Fall --isolated an:

Führen Sie Pip in einem isolierten Modus aus und ignorieren Sie die Umgebungsvariablen und die Benutzerkonfiguration.

$ pip install --upgrade pip 
Could not find an activated virtualenv (required). 
$ pip install --upgrade pip --isolated 
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages 
$ pip freeze --isolated 
... 
3

Eine zusätzliche Lösung zu den bereits präsentierten einen Shell-Befehl hinzufügen, die Sie py Pakete vorübergehend das Überschreiben der Standardeinstellung installieren können. Fügen Sie dieses zu Ihrem ~/.profile, ~/.bashrc hinzu oder wo immer Sie die Exporte/Einstellungen Ihrer Schale pflegen (in meinem Fall ~/.zshrc).

syspip(){ 
    PIP_REQUIRE_VIRTUALENV="" pip "[email protected]" 
} 

Mit dieser einfachen Zusätzlich können Sie pip-Pakete an das System über syspip install <package> installieren.