将可用的 Python 程序分发到没有安装 Distributed 的 Python?



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

我已经使用python setup.py bdist_wininst创建了一个Windows二进制安装程序。setup.py包含一个控制台脚本入口点,这样就可以创建一个Windows .exe文件并将其放在目标机器的%python%Scripts中,按照自动脚本创建。

然而,在一台未安装python的机器上运行已安装的脚本会产生:

D:Py3.2.5> scriptsfoo.exe
Traceback (most recent call last):
  File "D:Py3.2.5scriptsfoo-script.py", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

没有名为pkg_resources的模块告诉我这个错误是因为没有安装distribution。

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

啊,终于找到东西了:

您的用户可能没有在他们的机器上安装setuptools,或者即使他们做了,也可能不是正确的版本。解决这个问题是简单;只要下载distribute_setup.py,并把它放在相同的目录作为您的setup.py脚本。(一定要把它添加到你的复习中控制系统也是。)然后把这两行加到你的设置脚本,在脚本从setuptools导入任何内容之前:

import distribute_setup
distribute_setup.use_setuptools()

就是这样。distribute_setup模块将自动下载一个从PyPI匹配setuptools的版本,如果它不存在目标系统。每当您安装更新版本的setuptools时,您还应该更新项目的distribute_setup.py文件在目标机器上安装一个匹配的版本。

相关内容

  • 没有找到相关文章

最新更新