我正在寻找一种不使用 py2exe 将 Python 程序转换为 .exe 文件的方法。py2exe 说它需要 Python 2.6,它已经过时了。有没有办法让我可以分发我的 Python 程序而无需最终用户安装 Python?
9 回答
了解 Python 的每个“冻结”应用程序都不会以任何方式真正保护您的代码。独立可执行 Python“程序”的每个打包系统都将包含许多 Python 库和解释器,这将使您的程序变得非常大。
也就是说,PyInstaller对我所做的一切都做了几乎完美的工作。目前它只支持 Python 2.7,但 Pyinstaller 对各种大大小小的库的支持在其他 Python 的“冻结”类型程序中是无与伦比的。
我使用 cx_Freeze。适用于 Python 2 和 3,我已经对其在 Windows、Mac 和 Linux 上的工作进行了测试。
cx_Freeze:http ://cx-freeze.sourceforge.net/
有些人对 PyInstaller 的评价很好
我在 Python 3.2 中使用了cx-freeze ,效果很好
如果它是一个简单的 py 脚本,请参考这里
其他的 GUI :
$ pip3 安装 cx_Freeze
1) 创建一个 setup.py 文件并将其放在与要转换的 .py 文件相同的目录中。
2)将以下行复制粘贴到 setup.py 中,并将“filename.py”更改为您指定的文件名。
from cx_Freeze import setup, Executable
setup(
name="GUI PROGRAM",
version="0.1",
description="MyEXE",
executables=[Executable("filename.py", base="Win32GUI")],
)
3) 运行 setup.py "$python setup.py build"
4)那里会有一个名为“build”的新目录。在其中,您将准备好直接启动您的 .exe 文件。(确保将图像文件和其他外部文件复制粘贴到构建目录中)
py2exe 适用于 Python 2.7(以及其他版本)。你只需要MSVCR90.dll
为此,您有两种选择:
- 降级到 python 2.6。这通常是不可取的,因为它是回溯并且可能会使您的一小部分脚本无效
- 您的第二个选择是使用某种形式的
exe
转换器。我推荐pyinstaller
,因为它似乎有最好的结果。
还有另一种将 Python 脚本转换为 .exe 文件的方法。您可以将Python 程序编译成 C++ 程序,它可以像任何其他 C++ 程序一样进行本地编译。