如何将一个可用的python程序分发给没有安装Distribute的python?
我使用python setup.py bdist_wininst
创建了一个Windows二进制安装程序。 setup.py包含一个控制台脚本入口点,以便根据Automatic Script Creation创建一个Windows .exe文件并将其放在目标计算机上的%python%\Scripts
中。
但是,在具有初始python安装的计算机上运行已安装的脚本会产生:
D:\Py3.2.5> scripts\foo.exe
Traceback (most recent call last):
File "D:\Py3.2.5\scripts\foo-script.py", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
No module named pkg_resources告诉我此错误是因为未安装Distribute。
如何让我的安装程序包含Distribute以便我在安装程序之前不必告诉用户“你必须安装其他程序”?
答案 0 :(得分:0)
啊,最后found something:
您的用户可能没有在其计算机上安装setuptools,或者 即使他们这样做,也可能不是正确的版本。解决这个问题 简单;只需下载
distribute_setup.py
,并将其放入相同内容中 目录作为您的setup.py脚本。 (务必将其添加到您的修订版中 控制系统。)然后将这两行添加到您的最顶层 安装脚本,在脚本从setuptools导入任何内容之前:import distribute_setup distribute_setup.use_setuptools()
就是这样。 distribute_setup模块将自动下载 来自PyPI的setuptools的匹配版本,如果它不存在 目标系统。每当您安装setuptools的更新版本时, 您还应该更新项目的distribute_setup.py文件 匹配的版本安装在目标机器上。