2012-07-31 35 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?