2012-07-31 112 views
3

当我激活venv时,which pip返回/usr/local/bin/pip而不是path/to/my/apps/venv/bin/pop。这是为什么?激活的VENV仍然使用系统pip和系统python?怎么了?

我倾向于只是rm- rf/usr/local/bin/pip画中画并重新安装,但由于这是一个生产服务器我不想猜测太多:-)

我担心的是我(在USR /本地/ bin)中:

  • easy_install的
  • easy_install的-2.6
  • PIP
  • PIP-2.6
  • 的virtualenv
  • 的virtualenv-2.6

python --version回报2.6.6和which python回报/usr/bin/python即使venv被激活?

运行Debian挤压

您正在使用什么壳

回答

0

?你用什么特定的命令来激活virtualenv?在我的情况下(也使用挤压)我使用bash,如果我运行“源bin /激活”,那么我的路径(pip,python等)中的所有内容都是正确的。

+0

在我的本地机器上我使用zsh - 但在debian框中使用bash。我像你一样激活它。 - 但是,我记得我不能在上个世纪之前让颜色起作用。这在'bash_profile'中被修复: 'if [-f〜/ .bashrc];然后$ 源〜/ .bashrc $ fi ' 但这应该不重要。 – Andreas 2012-07-31 08:51:01

1

检查您的virtualenv的local目录。如果venv/local存在,是否包含pipeasy_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?