OSX Mavericks中的Python冲突安装
我现在遇到了一些麻烦,希望能得到一些指导,不然我的笔记本电脑可能会遭殃。
我已经用我的Macbook好几年了,一直没问题。但当我在工作中拿到一台新的iMac时,发现大家都推荐用homebrew来安装新的Python(特别是在Mavericks系统上)。
我的笔记本电脑之前用的原版Python也没问题。但我决定试试新的homebrew方式(顺便说一下,现在是Mavericks系统)。
首先,我清理了Mavericks系统,因为有其他冲突,然后重新安装了一个干净的系统。接着让nginx、php-fpm、mysql等都能正常工作。
现在是Python的部分。
我可以用pip来安装包。但是当我尝试
workon myproject
时,出现了:
/usr/bin/python: No module named virtualenvwrapper
/usr/bin/python: No module named virtualenvwrapper
不过它还是切换到了那个虚拟环境,但不是我项目所在的目录!
当我运行 where python
时,得到了几个结果:
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python
我试着调整我的路径,但总是出现其他错误,似乎我的两个Python安装之间有很大的冲突。有没有简单的解决办法,还是我需要彻底清除homebrew,从头再来一次?或者干脆放弃homebrew,使用OSX自带的?
为了更清楚,我当前的$PATH是:
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/go/bin:/Users/me/Development/Android/sdk/tools:/Users/me/Development/Android/sdk/platform-tools
2 个回答
试着把你想用的版本放在你的 PATH 变量的前面。比如说,如果你想使用 /usr/local/bin/python
,你可以在命令行中通过 export PATH=/usr/local/bin/python:$PATH
来修改你的 PATH。想了解更多信息,可以查看这里:http://www.cyberciti.biz/faq/appleosx-bash-unix-change-set-path-environment-variable/
我的解决方案有点特别,但我来分享一下:
在我的 .zshrc
文件中,我的设置是这样的:
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="steeef"
plugins=(osx virtualenv virtualenvwrapper python github)
source $ZSH/oh-my-zsh.sh
# various aliases
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
问题出在 Oh My ZSH 插件 virtualenvwrapper 上,它在默认的 Python 路径下查找,因为我在 .zshrc
文件中设置自定义路径的部分还没有写好。
所以,解决办法就是把 PATH 的设置放在插件之前,像这样:
ZSH_THEME="steeef"
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
plugins=(osx virtualenv virtualenvwrapper python github)
source $ZSH/oh-my-zsh.sh
# various aliases
现在 ZSH 插件可以找到正确的 Python 安装位置,也能找到正确的 Python 包路径了。