【问题标题】:Turn simple python program into standalone windows executable将简单的python程序变成独立的windows可执行文件
【发布时间】:2015-08-18 13:37:40
【问题描述】:

好的,我编写了一个名为 Coloriffic 的愚蠢简单的 Python 小程序,它可以让您调整红色、绿色和蓝色的值并显示结果颜色。我使用 Pygame 来实现这一点。

然后,我四处寻找如何将其变成一个简单的程序,我可以将其提供给其他人,而无需他们安装 Python 或 Pygame。在阅读了几个选项(以及这个网站上的几条建议)之后,似乎大多数人都推荐 cx_freeze,所以我下载了 WHL 并安装了它。我构建了一个 setup.py 脚本,这并不难,因为 Coloriffic 没有图像或其他外部文件,并且是一个非常简单的程序。

当我运行 setup.py 时,它成功了!它创建了一个运行良好的 Coloroffic.exe。问题是,它还创建了一个包含一百个其他支持文件的目录。我尝试创建一个 MSI 安装程序,它确实给了我一个可执行文件,但运行时只是将相同的一百多个文件放到另一个目录中。

有没有办法将我非常简单的 Coloriffic.py 程序转换为单个 Windows exe 文件,该文件在 exe 中包含所需的一切并且不需要安装?我想知道是否可以在 Python 中使用我的 .py 程序并将它们编译成单个可执行文件,而无需创建支持文件的目录?

如果是这样,我该怎么做?

谢谢。

编辑:不希望使其成为封闭源代码,只是希望将所有内容收集在一个文件中。另外,我读到“py2exe 会生成你想要的 exe 文件,但你需要在要使用新 exe 的机器上拥有相同版本的 MSVCR90.dll”——这可能是个问题,除非所有 Windows 机器从 7 开始,这个文件都在同一个版本中吗?这就是为什么我首先要创建一个完全独立的EXE文件。我也看到有人推荐 cx_freeze,但要么他们不明白它不会创建单个文件,要么 不明白如何制作它。有没有办法让 cx_freeze 创建一个独立的 exe?

我想我可以希望 MSVCR90.dll 依赖已被消除,并尝试 py2exe - 但在我走这条路之前,我希望得到一些建议,如果这是错误的。

感谢您的建议和其他已回答问题的链接,但我仍然没有看到这个问题的直接答案?

EDIT2:还有一点需要注意,当我使用 cx_freeze 创建可执行文件,然后运行 ​​Coloriffic.exe 时,它​​首先会创建一个看起来像黑色 Dos-box 窗口的东西,然后是 second 窗口弹出我的程序。我还希望可执行文件仅启动一个窗口,即我的程序,而不会首先出现 Dos 类型的窗口并保留在程序窗口后面。谢谢。

【问题讨论】:

标签: python compilation executable single-file


【解决方案1】:

试试 Py2exe,这是一种非常简单快捷的方法: Py2exe Tutorial

exe不必安装,但它也会在同一目录下创建支持文件

【讨论】:

  • 我读到 Py2exe 有一个 MSVCR90.dll 依赖项,根据 windows 电脑的版本,它可能无法正常工作?
猜你喜欢
  • 2012-08-01
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 2014-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多