玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容

Mac升级Python最新版本后有一些模块不能使用是什么原因

犹豫了一段时间是否更新Mac OS X内置的Python2.7.5 最后在还是更新到了2.7.7版本然后一系列的问题来了。
easy_install、pip、Scrapy、Django这些包都无法正常在终端下执行。
例如一哥们的Mac下Python2.7使用pip报错的File "/usr/local/bin/pip", line 5, in <module>错误,我也检查了一遍。发现重装后也不可以,在PyCharm下将更新后的Python路径修复一下就可以正常使用了,但是非常奇怪的一点,无论我怎么卸载重装第三方包也好。就是不见Python的包在/Library/Python/2.7/site-packages/路径内,看到的只有之前内置2.7.5的包,就纳闷了半天还没想到问题。
想了一下执行比如easy_install的时候按照Windows的尿性还要加环境变量,那么我检查了一遍/usr/bin/目录是正常存在easy_install的。那么我在终端执行的结果是这样:

python version 2.7.7 can't run /usr/bin/easy_install.  Try the alternative(s):

(Error: no alternatives found)

Run "man python" for more information about multiple version support in
Mac OS X.

这样的问题我也检查了一遍,这个是原本未升级时2.7.5遗留下来的,并没有做过任何处理。

我在这里思考了一下,发现更新Python2.7.7之后所有的包都安装在了:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/里面,我是不是认为我在更新完后执行easy_install的时候执行的并不是Python2.7.7里面的包?而是Python2.5.5里面的easy_install

如果是这样,那么理论上我的解决方法是不是可以这样:
将所有以前遗留的包软链接重新链接一次?

sudo rm -rf /usr/bin/easy_install
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/easy_install.py /usr/bin/easy_install

然后将以前的/Library/Python/2.7/site-packages/包删除掉?或者无视它的存在~

重点是,我将Python更新了,然后将包得软链接比如easy_install、pip、Django、Scrapy这样的包替换掉?是否就完美解决掉Mac OS X下的Python更新?
Ps.提问水平真的很拙计,希望大家能看得懂!

Mac OS X下不建议升级内置的Python、Ruby跟Perl,血和泪的教训。

You should always use virtualenv as your python runtime.

If not, at least you should use pyenv:

mac下推薦安裝pyenv

呃。好悲催。
用 homebrew 吧。
先用 homebrew 卸载 Python ,再安装。

brew uninstall python
brew install python

正好从现在起开始用virtualenv。从此你不用考虑系统的python版本了。

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/wenda/wd19623.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月31日 - 14时02分35秒 发布自玩蛇网

我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules