分发用Python编写的程序

10 投票
2 回答
4054 浏览
提问于 2025-04-16 07:07

可能重复的问题:
分发Python程序

我有几个用Python写的图形界面程序的源代码。我想把它们分发出去。不过,我希望最终用户能尽可能简单地运行这些程序。通常有什么方法可以解决这个问题呢?

这主要是针对Windows XP及以后的版本。

2 个回答

22

所有知名的Linux发行版和Mac OS都自带某个版本的Python。而Windows系统默认是没有安装Python的,所以你需要单独安装它,才能运行Python模块。当然,安装的Python版本必须和你的程序版本一致(要么是2,要么是3)。

分发你的程序最简单的方法就是直接分享源代码(比如通过邮件发送你的模块或者上传到某个地方),但这样的话,目标电脑必须安装Python 并且满足所有依赖项。更好的解决方案(至少对社区来说)是把你的程序作为一个包上传到PyPi。关于这个过程的更多信息可以在这里找到。

在某些情况下,可能会有一些原因让你无法使用这些选项。例如,你可能无法安装Python和/或依赖项(没有管理员权限)。如果是这样,你可以把你的模块和运行程序所需的所有其他东西打包在一起(比如在Windows上需要的python*.dll)。据我所知,这种分发方式的基本选项有以下几种:

  1. PyInstaller
  2. briefcase
  3. fbs
  4. PyOxidizer
  5. nuitka --standalone
  6. py2app(仅适用于Mac OS)
  7. cx_Freeze
  8. freeze
  9. py2exe

  10. cython --embed

另一种方法是使用Portable Python,或者在Linux/BSD系统上使用StaticPython

注意:并不是所有上述工具都能在所有平台上运行,或者支持Python3。请查看它们的文档。

不再维护的工具

  1. bbFreeze
  2. esky(不再维护)
  3. vendorID
  4. gui2exe

撰写回答