看起来问题是你的setuptools
在某种程度上是坏的。
To open the egg file, I tried downloading a third party tool, which crashed, and renaming it as a .zip, which failed. If I just double click on it, I get the "choose default application" popup.
双击它依靠扩展到决定推出什么样的应用程序。
检查某些东西是否为有效zip文件的最佳方法是使用命令行中的unzip
工具。例如:
$ unzip -t setuptools.egg
这将检查所有压缩标题,并检查存档中所有文件的CRC,并报告任何错误。或者,如果它根本不是zip,它会在开始时报告一个错误。
您也可以使用file
命令来快速检查它是否是一些众所周知的文件类型。如果file /path/to/setuptools-whatever.egg
只是说“数据”而不是“Zip归档数据”,那么它可能会被破坏而无法识别。
无论如何,假设你setuptools
没来跟你的Python安装(如果您使用的是python.org二进制安装程序,它没有),以最安全的做法是将其卸载,然后重新安装它干净利落。
首先卸载它很重要的原因是,默认情况下,当前版本不会安装.egg归档文件,而是会安装一个正常的解压缩包和egg-info目录,这意味着它不会覆盖旧的,打破的副本。
该文档covers uninstalling。只需从site-packages
(以及您的sys.path
的任何其他位置)删除setuptools
.egg文件和其他任何名称为setuptools*
的文件。如果你也有distribute
,那就杀了。这将留下一些文件在其他地方(特别是easy_install-3.3
PATH上的某个地方),但它们会被安装正确覆盖,所以没关系。
要安装,只需按照usual instructions重新安装它:
$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
...或者,如果你没有到站点包的写访问:
$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | sudo python
如果使用pip
,你可能要重新安装setuptools
后重新安装它,然后pip install -U setuptools pip
只是为了确保您有最新的版本,并确认一切工作了。
你是怎么安装'setuptools'的? “无法打开或提取”是什么意思? (如在,你尝试了什么,发生了什么?)你可以强制更新它,或卸载它并重新安装它? – abarnert
要安装'setuptools',我运行了从Pypi下载的'ez_setup.py'。要打开egg文件,我尝试下载第三方工具,该工具崩溃,并将其重命名为.zip,失败。如果我只是双击它,我会得到“选择默认应用程序”弹出窗口。我试过卸载并重新安装,强制更新的过程是什么? – dcastello
@abarnet它看起来像我的'setuptools'安装有缺陷。安装它的最佳方式是什么? – dcastello