如何分发带有依赖的“静态编译”Python应用程序

8
我有一个基于Python的应用程序。 我想将这个应用程序分发给使用不同操作系统(主要是Linux,但各种发行版)的用户。
推荐的做法是什么?我不希望用户必须安装Python。我想将Python与应用程序一起分发(这是免费软件)。有点像静态编译的程序。
因此,整个应用程序的安装只需要解压缩文件到文件夹中,然后Python(和使用的模块)和应用程序都包含在这个文件夹(包括子文件夹)中。
其他人如何分发他们的Python程序?
要求应用程序不会因为用户自己安装Python或升级现有的Python而崩溃。这就是我需要随应用程序一起分发Python的原因。
4个回答

3

对于Windows系统,我推荐使用py2exe,您可以构建一个包含资源的全功能.exe文件。

对于Linux系统,您可以选择以下两种方式:

  • 构建一个rpm并将Python设置为依赖项,或者
  • 构建一个集成了Python(dll或libpython.so)的c可执行文件。

3
什么是推荐的方法? 我不希望用户安装Python。 通常,Python程序使用disutils“打包”并安装以供现有的Python解释器使用。 参见:发行Python模块安装Python模块 将整个解释器捆绑在软件分发中并不常见(虽然肯定是可能的)。

Corey,我正在尝试将Python解释器捆绑在我的软件分发中,你有什么建议可以告诉我如何做到这一点吗?谢谢。 - Johnny


1

或者,查看cx_freeze

从他们的网站上:

关于cx_Freeze

cx_Freeze是一组用于将Python脚本冻结为可执行文件的脚本和模块,与py2exe和py2app类似。与这两个工具不同,cx_Freeze是跨平台的,并且应该可以在任何Python本身工作的平台上运行。它支持Python 2.3或更高版本(包括Python 3),因为它利用了在2.3中引入的zip导入功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接