将一个可用的python程序分发给没有安装Distribute的python?

时间:2013-05-22 22:29:33

标签: python windows software-distribution distribute

如何将一个可用的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以便我在安装程序之前不必告诉用户“你必须安装其他程序”

1 个答案:

答案 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文件   匹配的版本安装在目标机器上。