44

我正在寻找一种不使用 py2exe 将 Python 程序转换为 .exe 文件的方法。py2exe 说它需要 Python 2.6,它已经过时了。有没有办法让我可以分发我的 Python 程序而无需最终用户安装 Python?

4

9 回答 9

27

了解 Python 的每个“冻结”应用程序都不会以任何方式真正保护您的代码。独立可执行 Python“程序”的每个打包系统都将包含许多 Python 库和解释器,这将使您的程序变得非常大。

也就是说,PyInstaller对我所做的一切都做了几乎完美的工作。目前它只支持 Python 2.7,但 Pyinstaller 对各种大大小小的库的支持在其他 Python 的“冻结”类型程序中是无与伦比的。

于 2012-05-15T01:48:06.387 回答
9

我使用 cx_Freeze。适用于 Python 2 和 3,我已经对其在 Windows、Mac 和 Linux 上的工作进行了测试。

cx_Freeze:http ://cx-freeze.sourceforge.net/

于 2014-05-28T12:41:50.670 回答
8

有些人对 PyInstaller 的评价很好

http://www.pyinstaller.org/

于 2012-05-15T01:08:56.427 回答
3

我在 Python 3.2 中使用了cx-freeze ,效果很好

于 2012-05-15T01:08:05.610 回答
3

如果它是一个简单的 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 文件。(确保将图像文件和其他外部文件复制粘贴到构建目录中)

于 2015-12-12T16:12:28.107 回答
2

py2exe 适用于 Python 2.7(以及其他版本)。你只需要MSVCR90.dll

http://www.py2exe.org/index.cgi/Tutorial

于 2012-05-15T01:30:38.330 回答
1

我过去使用过py2exe并且对它非常满意。不过,我并不是特别喜欢使用cx-freeze

于 2012-05-15T01:20:21.133 回答
1

为此,您有两种选择:

  • 降级到 python 2.6。这通常是不可取的,因为它是回溯并且可能会使您的一小部分脚本无效
  • 您的第二个选择是使用某种形式的exe转换器。我推荐pyinstaller,因为它似乎有最好的结果。
于 2012-08-09T17:53:33.327 回答
0

还有另一种将 Python 脚本转换为 .exe 文件的方法。您可以将Python 程序编译成 C++ 程序,它可以像任何其他 C++ 程序一样进行本地编译。

于 2017-06-11T04:51:02.927 回答