1

好的,我编写了一个名为 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 框的窗口,然后会弹出第二个窗口,其中包含我的程序。我还希望可执行文件仅启动一个窗口,即我的程序,而不会首先出现 Dos 类型的窗口并保留在程序窗口后面。谢谢。

4

1 回答 1

0

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

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

于 2015-08-18T13:50:12.597 回答