在virtualenv上执行source activate之后,我执行了以下操作:pip install requests,我得到这个:
sudo pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages
Cleaning up...
现在,当我运行python并尝试在python上导入它时,使用virtualenv python
^{pr2}$所以我想,哦,也许它找错了python,所以我做了一个whichpython和whichpip
(dev)sshum@mysite:~/dev/bin$ which python
/var/www/mysite/mysite/dev/bin/python
(dev)sshum@mysite:~/dev/bin$ which pip
/var/www/mysite/mysite/dev/bin/pip
但是,如果我停用并尝试导入这些包,它将成功导入。不完全确定我做错了什么。在
如果其他一切都失败了,或者出于某种原因想继续使用sudo,只需直接指定
pip
可执行文件的路径:经过一番修补后找到了解决办法。似乎
sudo pip install {package}
更改了安装路径。由于virtualenv位于var文件夹中,所以我需要root权限来安装东西(我意识到这是一个糟糕的做法)。相反,我选择做的是su root
,然后在激活virtualenv的情况下pip install
。在这个错误发生在我身上,当我从另一个控制台通过pip安装时,我以为我仍然处于激活的virtualenv中,但实际上我在停用的系统Python中。在
使用
byobu
,我喜欢在一个屏幕上同时打开多个控制台。在如果我忘了在新的拆分中激活virtualenv,我就会遇到你描述的同样的问题。在
相关问题 更多 >
编程相关推荐