2014-05-21 24 views
4

我執行源後激活一個virtualenv中安裝軟件包,我執行以下操作:PIP安裝請求我得到這個:點子上的virtualenv是不正確的Python環境

sudo pip install requests 
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages 
Cleaning up... 

現在,當我運行python和嘗試導入它蟒蛇同時使用的virtualenv蟒蛇

>>> import requests 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named requests 
>>> 

於是我算了一下,哦,也許它看錯了蟒蛇,所以我做了這蟒蛇和點子

(dev)[email protected]:~/dev/bin$ which python 
/var/www/mysite/mysite/dev/bin/python 
(dev)[email protected]:~/dev/bin$ which pip 
/var/www/mysite/mysite/dev/bin/pip 

但是,如果我停用並嘗試導入這些包,則會成功導入。不完全確定我做錯了什麼。

回答

0

如果一切都失敗了,或者你想保留使用sudo出於某種原因,只是指定路徑直接pip可執行文件:

sudo ./my/virtualenv/bin/pip install foobar 
0

這個錯誤發生在我身上,當我從另一個控制檯的pip安裝時,以爲我仍然在激活virtualenv,但實際上我在停用系統Python。

使用byobu,我喜歡在一個屏幕上同時打開多個控制檯。

  1. 使用F2我打開新的全窗口
  2. 我激活的virtualenv,我想在
  3. 工作,出於某種原因,我分裂在新的分割畫面和工作

如果我忘了激活新分區中的virtualenv,我遇到了與你描述的相同類型的問題。

+0

,我在一個控制檯上運行。 –

+0

@ Stupid.Fat.Cat當你創建一個新的virtualenv時,輸出$ pip freeze命令是什麼?你究竟如何創建virtualenv?默認情況下,virtualenv應該與系統Python完全隔離,但有些選項允許從系統共享庫。它們可能通過命令行,系統變量或配置文件激活,請參閱http://virtualenv.readthedocs.org/en/latest/virtualenv.html?highlight=config。 –

+0

virtualenv myenv創建它。 –

0

經過一番修補後找到了解決方案。好像sudo pip install {package}改變了安裝路徑。而且由於virtualenv位於var文件夾中,我需要root權限來安裝東西(這是我意識到的糟糕做法)。相反,我選擇的是su root,然後pip install激活了virtualenv。

相關問題