【发布时间】:2014-09-03 23:12:34
【问题描述】:
我正在运行安装了 Python 2.7.2 的 Mountain Lion。过去,我使用 pip install 安装了 virtualenv,一切运行良好。但是,我在运行几个包时遇到了一些问题,因此决定使用 python.org 上的 .dmg 升级 Python (2.7.8)。
安装程序在 /Library/Frameworks/Python.framework 中安装了一个 Python 版本,我运行了 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 更新期间引入的错误(但那是几次更新之前的并且应该已经修复 - 但我想它可能再次被破坏)。有没有办法安装以前的版本?
【问题讨论】:
-
对你来说太晚了,但我推荐 Macports macports.org 或 Homebrew brew.sh 来安装多个 Python 版本(它们不会与系统路径混淆)——它们不容易出错,而且你可以在出错的情况下核对整个安装并从头开始
-
感谢您的评论。通常我使用 Fink 来更新这些东西。我在这种情况下使用了它,但随后在使用另一个 Python 包时遇到了问题。这就是为什么我从 Python 站点选择使用 .dmg 的“官方”路线。但是,事实证明,它并没有帮助并引入了这个新问题。
-
我将使用 Homebrew 排在第二位。它可以并且会自行清理。
标签: python pip setuptools easy-install