将简单的Python脚本转换为Windows可执行文件的方法
我写了一个脚本,目的是帮助一个Windows用户在日常生活中更方便。我希望能直接把这个.exe文件发给她,而不想让她去安装Python、dll文件或者处理其他任何额外的文件。
我查阅了很多关于将Python脚本编译成可执行文件的StackOverflow帖子。可是我有点困惑,因为有很多选项,但有些看起来很老旧(自2008年以来没有更新),而且没有一个简单到让我不需要在这里发问,尽管我已经花了几个小时在这上面。
我希望能找到一种更好、更现代的方法来实现这个目标。
我查看了以下工具:
但是要么我无法让它们正常工作,要么我根本不明白怎么才能得到我需要的结果。我最接近成功的是使用py2exe,但它还是让我遇到了MSVCR71.dll的问题。
如果能给我一个一步一步的指导就太好了,因为我也无法理解这里一些需要对py2exe或其他工具有一定了解的调整建议。
我使用的是Python 2.5,因为有一个模块只支持这个版本。
8 个回答
我建议你去这个链接 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 文件夹的名字。
希望一切顺利!:)
使用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来运行它,这两种方式对我都有效。希望这对你有帮助。
如果你使用 --onefile
这个选项,PyInstaller 会生成一个单文件的可执行程序(其实它的做法是先解压自己,然后再运行)。
这里有一个简单的 PyInstaller 教程,点击这里可以查看。如果你在使用过程中有任何问题,欢迎提问...