2013-05-09 129 views
22

我想安設的virtualenv和/或virtualenvwrapper上的Mac OSX 10.8.3PIP:無法找到激活的virtualenv(必填)

我一直爭取與蟒蛇最後兩天。最後我能夠使用brew安裝python 2.7.4。在我使用easy_install安裝virtualenv之前。然後我試圖卸載它,試圖讓我的電腦與我的同事處於同樣的狀態。也許我會成功卸載它,也許不會。我不知道如何測試它。現在我應該安裝的virtualenv使用 -

pip install virtualenv 

但它給了我 -

Could not find an activated virtualenv (required). 

pip install virtualenvwrapper給出完全相同的輸出。

而且變量:PIP_RESPECT_VIRTUALENV爲空:

echo $PIP_RESPECT_VIRTUALENV 

我怎樣才能解決這個問題呢?

感謝

+0

pip和python的哪個版本? – 2013-05-09 11:14:45

+0

python是2.7.4。這個點是它裏面的點。感謝您的詢問。 – 2013-05-09 11:20:36

回答

61

打開~/.bashrc文件,看看這條線是有 -

export PIP_REQUIRE_VIRTUALENV=true 

它可能會引起麻煩。如果它的存在,將其更改爲false和運行 -

source ~/.bashrc 

如果沒有,從終端上運行export PIP_REQUIRE_VIRTUALENV=false

+0

事實上,輸出PIP_RESPECT_VIRTUALENV = true的行在那裏。所以我評論它。然後再次運行該文件,但它仍然不起作用。於是我開了一個新的終端,現在它工作了。非常感謝你。 – 2013-05-09 11:26:02

+1

是的,它必須爲我設置爲false。 – cbron 2014-03-24 19:55:13

+3

對於任何碰到此問題的人:請注意'PIP_RESPECT_VIRTUALENV'(如原始問題中提到的)和'PIP_REQUIRE_VIRTUALENV'之間的區別,這是上述解決方案。 – yvandermeer 2015-01-20 09:57:13

2

@Bibhas有它; +1以在~/.profile~/.bashrc中查找export PIP_REQUIRE_VIRTUALENV=true。您可以使用env |grep PIP_REQUIRE_VIRTUALENV確認當前shell中的設置。

此設置是一個很好的安全檢查;通常情況下,你會想要把東西安裝到virtualenvs中。但是,有時候你想想要使用全局/系統python。在這些情況下,請看--isolated

在獨立模式下運行pip,忽略環境變量和用戶配置。

$ 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

另外一個解決方案已經存在的那些是添加一個shell命令,可以讓你暫時覆蓋默認設置安裝PY包。把它加到你的~/.profile,~/.bashrc或者任何你保持你的外殼的出口/設置(在我的情況下,~/.zshrc)。

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

有了這個簡單此外,還可以通過安裝syspip install <package> PIP封裝到系統中。