当我激活venv
时,which pip
会返回/usr/local/bin/pip
而不是path/to/my/apps/venv/bin/pop
。那是为什么?
我倾向于rm- rf
/usr/local/bin/pip
中的python --version
并重新安装,但由于这是一个生产服务器,我不想猜太多: - )
我担心的是(在usr / local / bin中):
which python
会返回2.6.6而/usr/bin/python
会返回venv
,即使{{1}}已激活了吗?
运行Debian Squeeze
答案 0 :(得分:1)
检查您的virtualenv是否有local
目录。如果venv/local
存在,它是否包含pip
和easy_install
?如果是这样,您可以尝试通过编辑venv/bin/activate
并将venv/local/bin
添加到您的路径中来解决此问题,就像venv/bin
正在被添加前一样。
类似的东西:
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="$VIRTUAL_ENV/local/bin:$PATH" # my new line
export PATH
我遇到了类似于我所描述的问题,不幸的是我还没有将它运行到地面。另见:Why do distribute and pip install to my virtualenv's ./local/bin?
答案 1 :(得分:0)
你使用的是什么外壳?您使用什么特定命令来激活virtualenv?
在我的情况下(也使用挤压)我正在使用bash,如果我运行“source bin / activate”,那么我路径中的所有内容(pip,python等)都是正确的。