如何为Python 3安装distribute

1 投票
2 回答
5242 浏览
提问于 2025-04-15 22:41

我正在尝试在Windows上使用ActivePython 3.1.2安装distribute

按照网站上的说明运行python distribute_setup.py,结果出现了以下信息:

没有找到setuptools的分发包
正在运行安装
错误追踪(最近的调用在最前面):
文件 "setup.py",第177行,
scripts = scripts,
文件 "C:\Dev\Python_x86\3.1\lib\distutils\core.py",第149行,在setup中
dist.run_commands()
文件 "C:\Dev\Python_x86\3.1\lib\distutils\dist.py",第919行,在run_commands中
self.run_command(cmd)
文件 "C:\Dev\Python_x86\3.1\lib\distutils\dist.py",第938行,在run_command中
cmd_obj.run()
文件 "build\src\setuptools\command\install.py",第73行,在run中
self.do_egg_install()
文件 "build\src\setuptools\command\install.py",第82行,在do_egg_install中
easy_install = self.distribution.get_command_class('easy_install')
文件 "build\src\setuptools\dist.py",第361行,在get_command_class中
self.cmdclass[command] = cmdclass = ep.load()
文件 "build\src\pkg_resources.py",第1953行,在load中
entry = import(self.module_name, globals(),globals(), ['name'])
文件 "build\src\setuptools\command\easy_install.py",第16行,在
from setuptools.sandbox import run_setup
文件 "build\src\setuptools\sandbox.py",第164行,在
fromlist=['name']).file)
AttributeError: 'module'对象没有属性'file'
安装过程中出现了问题。
请查看上面的错误信息。

我是不是缺少了什么未知的依赖项?

下载源代码压缩包并执行python setup.py install,结果也出现了完全相同的信息。

编辑:添加了运行安装程序时的完整错误追踪信息。

2 个回答

3

这是一个关于Distribute的bug,具体情况可以查看这个链接:http://bitbucket.org/tarek/distribute/issue/151。这个问题预计会在下一个版本(0.6.13)中修复。只有在安装了PyWin32的情况下才会出现这个问题,而ActivePython是自带PyWin32的。

3

看起来,python.org上的Python3和ActiveState版本的Python3不太一样。(你应该向某个地方反馈这个问题,但我不太确定该找谁)

我找到的解决办法(我不确定这样做会有什么影响)

下载链接:

http://pypi.python.org/packages/source/d/distribute/distribute-0.6.12.tar.gz#md5=5a52e961f8d8799d243fe8220f9d760e

下载后解压,然后修改:

distribute-0.6.12\setuptools\sandbox.py:165 从:

except ImportError:

改成:

except (ImportError, AttributeError):

这样就能消除错误,让你可以运行:

python setup.py install

我花了一些时间才找到一个可以在任意版本的Python3上真正安装的包,"files"是第一个成功安装的包,所以我很确定easy_install在这两个Python3版本上都能正常工作。

...希望这个方法有效!(这就是我能帮你的全部了)

撰写回答