在Mountain Lion上升级Python后升级setuptools

3 投票
2 回答
4843 浏览
提问于 2025-04-18 13:12

我在使用Mountain Lion系统,安装了Python 2.7.2。之前我用pip install安装过virtualenv,一切都很顺利。不过,最近我在运行几个包的时候遇到了一些问题,所以决定通过python.org上的.dmg文件升级Python到2.7.8。

安装后,Python被放在了/Library/Frameworks/Python.framework这个地方。我运行了Update Shell Profile.command,让这个版本成为默认的Python。现在当我在终端输入'python'时,2.7.8就会启动,一切看起来都很好。

在管理员账户下,我接着用以下命令升级了setuptools:

> curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python

这条命令在/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install这个位置安装了easy_install(也就是新的默认Python 2.7.8安装)。看起来安装得还不错,但当我尝试安装pip时:

> sudo easy_install pip

却出现了错误提示:

ImportError: cannot import name ContextualZipFile

我想可能是有不同版本的easy_install在运行,但如果我明确运行新的easy_install,还是会出现同样的错误信息:

有没有人能给点建议,为什么会这样呢?有些报告说这可能是setuptools更新时引入的一个bug(但那是几次更新之前的事,应该已经修复了——不过我想可能又坏掉了)。有没有办法安装之前的版本呢?

2 个回答

0

我不是在用Mountain Lion,我在用Mavericks(10.9.4)。

我刚试了你说的步骤,结果没有出现同样的错误。我不想在评论里发很长的回复,所以我就直接发这里了。希望这对你有一点帮助。

首先,我从python.org的下载页面下载了python-2.7.8-macosx10.6.dmg

安装后,我检查了一下,发现我现在用的是这个版本的python:

LongQuanJian:~ joysword$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

LongQuanJian:~ joysword$ python
Python 2.7.8 (v2.7.8:ee879c0ffa11, Jun 29 2014, 21:07:35) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

然后我试着运行你提供的命令,结果成功了。日志在这里:

https://gist.github.com/joysword/2fe24ae34c573e205144

注意第二个命令:

sudo easy_install pip

在第248行。

4

你有没有按照这个链接的说明来安装pip呢?http://pip.readthedocs.org/en/latest/installing.html

撰写回答