0

如何将可用的 python 程序分发给没有安装 Distributed 的 python?

我已经使用python setup.py bdist_wininst. setup.py 包含一个控制台脚本入口点,以便根据自动脚本创建创建一个 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

没有名为 pkg_resources 的模块告诉我此错误是因为未安装Distribute 。

如何让我的安装程序包含分发,这样我就不必告诉我们的用户“在安装我们的程序之前,你必须安装这个其他程序”

4

1 回答 1

0

啊,终于找到了一些东西

您的用户可能没有在他们的机器上安装 setuptools,或者即使他们安装了,它也可能不是正确的版本。解决这个问题很容易;只需下载distribute_setup.py,并将其放在与 setup.py 脚本相同的目录中。(请务必将它也添加到您的修订控制系统中。)然后将这两行添加到安装脚本的最顶部,在脚本从 setuptools 导入任何内容之前:

import distribute_setup
distribute_setup.use_setuptools()

而已。如果目标系统上不存在,distribute_setup 模块将自动从 PyPI 下载匹配版本的 setuptools。每当您安装 setuptools 的更新版本时,您还应该更新项目的 deploy_setup.py 文件,以便在目标机器上安装匹配的版本。

于 2013-05-29T07:36:27.873 回答