【问题标题】:Setting up Python venv in Mac OSX (Lion), why didn't `which python` change?在 Mac OSX (Lion) 中设置 Python venv,为什么 `which python` 没有改变?
【发布时间】:2017-06-22 05:38:06
【问题描述】:

我正在尝试按照this 指南在 OSX 10.8.5 (Lion) 上设置虚拟环境。 Homebrew 安装成功,以下更新成功完成:

$ pip install --upgrade distribute  
$ pip install --upgrade pip 

但是,which python 仍然显示/Library/Frameworks/Python.framework/Versions/2.7/bin/python。为什么?? (我希望 /usr/local/bin/python 代替,目标是使用 venv(s) 来分隔项目。)

更新...
$PATH 信息:

host:~ username$ echo $PATH
 /Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/
 Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/
 sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin 
host:~ username$  

原来... 主机:~ user$ brew install python 正在更新自制... ==> 自动更新 Homebrew! 更新了 1 个水龙头(自制/核心)。 公式没有变化。

Warning: python-2.7.13 already installed, it's just not linked.

Running Doctor 出现了许多问题,但解决方案是...... host:~ user$ brew link python

这最终需要一个强制(--overwrite)...

参考: brew install python, but then: "python-2.7.6 already installed, it's just not linked" python homebrew by default

但是我不明白为什么会这样。如果有人能解释发生了什么(为什么自制软件没有更新链接),我很乐意回答。

【问题讨论】:

  • 您的$PATH 中有什么内容?
  • 如果您还没有安装virtualenv,那么您需要先安装它。您可以使用pip install virtualenvgithub.com/nicolashery/mac-dev-setup#install-1)完全按照您发布的指南进行操作
  • @torek $PATH 信息已添加到原始问题中。
  • @pmuntima 指南指出在brew install python 之后应该将which python 更新为/usr/local/bin/python...(第323 行)

标签: python macos path osx-lion python-venv


【解决方案1】:

如果你在 OS X 中的PATH 没有首先指向/usr/local/bin,你必须使用the -p option 设置你的virtualenv,它允许你指定你想要的python 解释器的路径在virtualenv内使用:

cd /path/to/project
virtualenv . -p /usr/local/bin/python
. bin/activate
python --version

【讨论】:

  • 嗯,看起来 $PATH 会在 brew install python 之后更新(教程中的第 323 行)..
  • 我无法评价任何特定教程的有效性。我可以告诉你,-p 选项是你应该用来指定你选择的 Python 解释器的。
猜你喜欢
  • 2011-10-30
  • 2021-06-04
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 2012-06-29
  • 1970-01-01
相关资源
最近更新 更多