2013-03-16 52 views
11

我試圖找出爲什麼我的virtualenv和/或virtualenv包裝 - 用pip使用homebrew安裝 - 無法找到。我想這是因爲它沒有添加到我的PATH:如何virtualenv中添加路徑

$ which virtualenv 
$ 

和:

$ virtualenv someDir 
$ -bash: virtualenv: command not found 

我安裝使用homebrew點子,並virtualenv使用pip,沒有任何問題。我試過重新安裝virtualenv,但那也沒用。 我如何知道要添加到PATH的路徑?只是virtualenv.py似乎安裝到的路徑?這似乎是:

/usr/local/lib/python2.7/site-packages/virtualenv.py 

我還發現this guide,這表明這一點:

$ ln -s ../Cellar/python/2.7/Frameworks/Python.framework/Versions/2.7/bin/virtualenv virtualenv 

但是,它並不能幫助我跑virtualenv。我在Mac OSX 10.7.5(Lion)上。

+4

這不是一個路徑問題。成功安裝後,Pip在'/ usr/local/bin /'中放置一個名爲'virtualenv'的可執行文件。嘗試'pip卸載virtualenv',然後重新安裝'sudo pip install virtualenv'。 'sudo'因爲你需要將它安裝在全局範圍內。 – 2013-03-16 19:39:02

+0

@Bibhas,但如果我加載launchd.conf,我有/ usr/local/bin添加到我的路徑,那麼我應該能夠在bash中使用virtualenv嗎?或只使用sudo時,點將它放在那裏?我在哪裏可以找到這些信息? – 2013-03-16 21:49:27

+0

@Bibhas我想你的建議,我所做的: + $ PIP卸載的virtualenv + $ PIP卸載virtualenvwrapper + $ sudo的PIP安裝的virtualenv + $ CD的/ usr/local/bin目錄/ + $找到的virtualenv +找:virtualenv:沒有這樣的文件或目錄'' 這裏有什麼問題嗎?這是有道理的......但爲什麼? – 2013-03-16 21:55:21

回答

12

看來我自己是幾乎所有'簡單'安裝程序的規則的例外。由於某種原因,它是一個路徑相關的問題:

我跑brew info python,它輸出了很多信息。在底部,我發現這一點:

Executable python scripts will be put in: 
/usr/local/share/python 
so you may want to put "/usr/local/share/python" in your PATH, too. 

我補充說,我在/etc/launchd.conf PATH和~/.bashrc你瞧:

$ which virtualenv 

告訴我:

"/usr/local/share/python/virtualenv" 

我仍不很不知道爲什麼我找不到正確的方向,在線,任何地方的任何指針? pip install virtualenv是否應該添加到PATH本身?如果是這樣,爲什麼不在我的系統上?爲什麼@bibhas明確告訴我這不是一個路徑問題?

+1

有趣的原因brew剛剛告訴我從我的路徑中刪除它,因爲它現在的工作方式不同,然後我不能再使用virtualenv .. – Claudiu 2013-07-12 18:25:28

+0

感謝您的寫得很好的解決方案,完全解決了我的問題。 – aendrew 2013-08-29 14:40:57

-1

/usr/local/lib/python2.7/site-packages中的模塊通過使用pkg_resources.load_entry_point來運行應用程序的短腳本導入。該實用程序腳本應位於/usr/local/bin中。

+2

我很抱歉,但我的點/ bash福是不夠好,理解你的解決方案,請你詳細說明嗎? – 2013-03-16 22:03:37

2

在你的.bashrc你需要有:

export WORKON_HOME=~/.virtualenvs 
source /usr/local/bin/virtualenvwrapper.sh 
+0

當我嘗試這個(我把它放在兩個.bashrc中,我必須創建,.bash_profile)它告訴我: -bash:/ usr/local/bin/virtualenvwrapper。sh:沒有這樣的文件或目錄 – 2013-03-16 22:34:06

+0

,然後打開一個新的bash shell:'bash'或關閉並重新打開你的終端 – northben 2013-09-14 20:55:48

0

此解決方案讓您使用,並在同一時間解決您的virtualenv問題的替代工具。

使用pythonbrew。它的靈感來源於紅寶石世界的rvm,有助於管理系統中的蟒蛇,並且還包裝virtualenv命令以提供虛擬環境管理。我使用它山獅爲我的發展目的,並沒有任何問題。更多細節(在我的博客):http://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/

+0

我認爲這很好,如果它開箱即用,但是1)這是解決我的問題的方法, 2)我不能使用自制軟件安裝它,因爲我幾個月來喜歡作爲軟件包管理器:) – 2013-03-18 11:42:17

+0

這個我可以預料:如果我下載依賴於virtualenv的pythonbrewm,並且我嘗試使用它,猜猜看是什麼: **''futuremaggel:〜supermaggel $ pythonbrew -bash:pythonbrew:找不到命令 futuremaggel:〜supermaggel $其中pythonbrew futuremaggel:〜supermaggel $''** 它不知道的命令或無法找到它..我有與virtualenv相同的問題。 – 2013-03-18 11:49:07

5

有同樣的問題後pip install virtualenv

當我檢查蟒蛇ls -la /usr/local/bin/python我發現這是符號鏈接到/Library/Frameworks/Python.framework/Versions/2.7/bin/python

當我在該目錄中的CD我也發現了virtualenv中的可執行文件和

固定它通過

  1. cd /Library/Frameworks/Python.framework/Versions/2.7/bin
  2. ln virtualenv /usr/local/bin/virtualenv

旁註:我也正好在/System/Library/Frameworks/Python.framework/Versions/2.7/bin

一個Python安裝我相信這是與OSX來到

+0

爲我工作。我很好奇是什麼導致它在這個狀態下最終結束。 – 2017-12-01 02:40:28

0

我的想法是你的virtualenv位置添加到BASH PATH

的一個

export PATH=$PATH:/usr/local/python2.7/bin 或改變位置,

1

我解決它通過: 起初發現它位於在/ usr /本地/ python3 ,然後我用命令修復: LN virtualenv中的/ usr/local/bin目錄/ virtualenv中