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

gre*_*eye 78 python packaging software-distribution compilation py2exe

我写了一个脚本,可以帮助Windows用户进行日常生活.我想简单地向她发送.exe而不是要求她安装python,dll或者必须处理任何其他文件.

我已经阅读了很多关于将Python脚本编译成可执行文件的stackoverflow条目.我有点困惑,因为有很多选择,但有些似乎过时了(自2008年以来没有更新),没有一个对我来说不够简单,因为我花了几个小时就没有问过这个问题.

我希望有更好的,最新的方式来做到这一点.

我调查了一下:

但要么我不能让他们工作或无法理解如何得到我需要的结果.我得到的最接近的是py2exe,但它仍然给了我MSVCR71.dll

我希望得到一步一步的答案,因为我也无法遵循这里的一些调整答案,这些答案需要事先了解如何使用py2exe或其他一些工具.

我正在使用Python 2.5,因为其中一个模块仅适用于该版本.

Nic*_*ley 32

如果你使用该--onefile选项,PyInstaller将创建一个单文件可执行文件(虽然它实际上是提取然后运行自己).

有一个简单的PyInstaller教程这里.如果您对使用它有任何疑问,请发布它们......


PPT*_*Tim 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,
)
Run Code Online (Sandbox Code Playgroud)

那么你可以通过命令提示符/空闲来运行它,两者都适合我.希望能帮助到你


小智 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'])
Run Code Online (Sandbox Code Playgroud)

保存在用户文件夹中还要将要转换的文件保存在同一文件夹中

运行窗口的命令提示符键入 setup.py install py2exe

它应该打印多行代码......

接下来,打开dist文件夹.

运行该exe文件.

如果程序有所需的文件可用,请将它们移动到该文件夹

复制/发送dist文件夹给人.

可选:更改dist文件夹的名称

希望它有效!:)


Ale*_*lli 9

我会加入@Nicholas在推荐PyInstaller(与--onefile标志),但被警告:千万不能使用"最新发布",PyInstaller 1.3 -这是多年的老.使用"预发布"1.4,在这里下载- 甚至更好的svn repo代码- 安装SVN并运行svn co http://svn.pyinstaller.org/trunk pyinstaller.

正如@Nicholas所暗示的那样,动态库不能从与可执行文件的其余部分相同的文件中运行 - 但幸运的是,它们可以与其他所有文件一起打包在一个"自解压"可执行文件中,该文件将自己解压缩到某个临时目录中需要; PyInstaller在这方面做得很好(还有许多其他的东西 - py2exe更受欢迎,但pyinstaller在我看来,在所有其他方面都更可取).

  • PyInstaller现在使用GitHub,它的版本为2.1,并且支持Python 2.7(以及其他版本).当然"它适用于多个文件"(作为输入),但整点是产生一个文件作为输出.请参阅https://github.com/pyinstaller/pyinstaller/wiki并从中链接. (2认同)

god*_*vid 6

1)根据你的Python版本从这里获取py2exe .

2)在与要转换的脚本相同的文件夹中创建一个名为"setup.py"的文件,其代码如下:

from distutils.core import setup
import py2exe
setup(console=['myscript.py']) #change 'myscript' to your script
Run Code Online (Sandbox Code Playgroud)

3)转到命令提示符,导航到该文件夹​​,然后键入:

python setup.py py2exe
Run Code Online (Sandbox Code Playgroud)

4)它将在与脚本相同的文件夹中生成"dist"文件夹.该文件夹包含.exe文件.

  • 您是否可以删除此答案,因为它与Bob在2年前发布的答案重复. (2认同)