将简单的Python脚本转换为Windows可执行文件的过程
我写了一个脚本,在日常生活中帮助Windows用户。 我想简单地发送她的.exe,而不是要求她安装python,dll或不得不处理任何额外的文件。
我已经读了很多关于将Python脚本编译成可执行文件的stackoverflow条目。 我有点困惑,因为有很多select,但有些看起来有点过时(自2008年以来没有更新),没有一个足够简单,我花了几个小时后,现在不要问这个问题。
我希望有一个更好的,最新的方式来做到这一点。
我看着:
- pylunch
- py2exe
- cx_Freeze
- py2app (仅适用于Mac)
- pyinstaller
- bbfreeze
但要么我不能让他们工作,或不明白如何得到我需要的结果。 我得到的最接近的是py2exe,但它仍然给了我MSVCR71.dll
我将不胜感激一步一步的答案,因为我也无法遵循这里需要事先了解如何使用py2exe或一些其他工具的一些调整的答案。
我正在使用Python 2.5,因为其中一个模块仅适用于该版本。
如果您使用--onefile
选项,PyInstaller将创build一个单文件可执行文件(尽pipe它实际上是提取然后自行运行)。
这里有一个简单的PyInstaller教程。 如果您有任何关于使用它的问题,请张贴他们…
使用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运行它,都适用于我。 希望它有帮助
我会build议去http://sourceforge.net/projects/py2exe/files/latest/download?source=files下载py2exe。; 然后创build一个名为setup.py的python文件。 在里面input
from distutils.core import setup import py2exe setup(console=['nameoffile.py'])
保存在你的用户文件夹中同样保存你想要转换的文件到同一个文件夹中
在setup.py install py2exe
运行窗口的命令提示符typessetup.py install py2exe
它应该打印许多代码行…
接下来,打开dist文件夹。
运行该exe
文件。
如果程序需要文件,请将它们移动到文件夹中
复制/发送dist文件夹给个人。
可选:更改dist文件夹的名称
希望它的作品!:)
我会join@Nicholas推荐PyInstaller (带有--onefile
标志),但要注意 :不要使用“最新版本”,PyInstaller 1.3 – 已经有几年了 。 使用“预发布”1.4, 在这里下载 – 甚至更好的代码从SVN回购 – 安装SVN并运行svn co http://svn.pyinstaller.org/trunk pyinstaller
。
正如@尼古拉斯所暗示的,dynamic库不能像其他可执行文件一样运行 – 但是幸运的是,它们可以和其他所有文件一起打包在一个“自解压缩”的可执行文件中,这个可执行文件将把自己解压到某个临时目录中需要; PyInstaller在这方面做得很好(在许多其他的事情上 – py2exe
更受欢迎,但我认为pyinstaller
在所有其他方面更可取)。
1)根据你的Python版本从这里获取py2exe。
2)在你想要转换的脚本文件夹中创build一个名为“setup.py”的文件,代码如下:
from distutils.core import setup import py2exe setup(console=['myscript.py']) #change 'myscript' to your script
3)转到命令提示符,导航到该文件夹,然后键入:
python setup.py py2exe
4)它会在脚本文件夹中生成一个“dist”文件夹。 该文件夹包含.exe文件。
你可能想看看你的应用程序是否可以在IronPython下运行。 如果是这样,你可以把它编译成一个exe http://www.codeplex.com/IronPython
您可以通过以下方式为您创build一个安装程序EXE文件:
1.按WinKey + R
2.在运行窗口中input“iexpress”(不带引号)
3.完成创build安装程序的向导。
4.分发完成的EXE。