将简单的Python脚本转换为Windows可执行文件的方法

78 投票
8 回答
107437 浏览
提问于 2025-04-15 18:28

我写了一个脚本,目的是帮助一个Windows用户在日常生活中更方便。我希望能直接把这个.exe文件发给她,而不想让她去安装Python、dll文件或者处理其他任何额外的文件。

我查阅了很多关于将Python脚本编译成可执行文件的StackOverflow帖子。可是我有点困惑,因为有很多选项,但有些看起来很老旧(自2008年以来没有更新),而且没有一个简单到让我不需要在这里发问,尽管我已经花了几个小时在这上面。

我希望能找到一种更好、更现代的方法来实现这个目标。

我查看了以下工具:

但是要么我无法让它们正常工作,要么我根本不明白怎么才能得到我需要的结果。我最接近成功的是使用py2exe,但它还是让我遇到了MSVCR71.dll的问题。

如果能给我一个一步一步的指导就太好了,因为我也无法理解这里一些需要对py2exe或其他工具有一定了解的调整建议。

我使用的是Python 2.5,因为有一个模块只支持这个版本。

8 个回答

13

我建议你去这个链接 http://sourceforge.net/projects/py2exe/files/latest/download?source=files 下载 py2exe。然后创建一个名为 setup.py 的 Python 文件。

在这个文件里,输入以下内容:

from distutils.core import setup
import py2exe
setup(console=['nameoffile.py'])

把这个文件保存在你的用户文件夹里,同时把你想要转换的文件也放在这个文件夹里。

接下来,打开 Windows 的命令提示符,输入 setup.py install py2exe

这时会打印出很多代码行……

然后,打开 dist 文件夹。

运行里面的 exe 文件。

如果程序需要其他文件才能正常运行,就把这些文件移动到这个文件夹里。

最后,把 dist 文件夹复制或发送给别人。

可选:你可以更改 dist 文件夹的名字。

希望一切顺利!:)

13

使用py2exe时,在你的setup.py文件中加入以下内容:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    windows = [{'script': "YourScript.py"}],
    zipfile = None,
)

然后你可以通过命令提示符或Idle来运行它,这两种方式对我都有效。希望这对你有帮助。

33

如果你使用 --onefile 这个选项,PyInstaller 会生成一个单文件的可执行程序(其实它的做法是先解压自己,然后再运行)。

这里有一个简单的 PyInstaller 教程,点击这里可以查看。如果你在使用过程中有任何问题,欢迎提问...

撰写回答