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

Posted

技术标签:

【中文标题】将简单的 Python 脚本转换为 Windows 可执行文件的过程 [重复]【英文标题】:Process to convert simple Python script into Windows executable [duplicate] 【发布时间】:2011-01-09 08:37:57 【问题描述】:

我编写了一个脚本来帮助 Windows 用户的日常生活。我只想将 .exe 发送给她,而不是要求她安装 python、dll 或处理任何其他文件。

我已经阅读了大量关于将 Python 脚本编译为可执行文件的 *** 条目。我有点困惑,因为有很多选择,但有些似乎过时了(自 2008 年以来没有更新),而且没有一个简单到让我在花了几个小时后不问这个问题。

我希望有更好、最新的方法来做到这一点。

我调查了:

pylunch py2exe cx_Freeze py2app(仅适用于 Mac) pyinstaller bbfreeze

但要么我无法让它们工作,要么不明白如何获得我需要的结果。我得到的最接近的是 py2exe,但它仍然给了我 MSVCR71.dll

我会很感激分步回答,因为我也无法遵循这里的一些调整答案,这些答案需要事先了解如何使用 py2exe 或其他一些工具。

我使用的是 Python 2.5,因为其中一个模块仅适用于该版本。

【问题讨论】:

大多数情况下你可以忽略 MSVCR dll,我没有将它与我的应用程序一起分发,也没有听到任何错误(关键是他们可能有发生了,我只是没有收到报告:)) 【参考方案1】:

如果您使用--onefile 选项,PyInstaller 将创建一个单文件可执行文件(尽管它实际上所做的是提取然后自行运行)。

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

【讨论】:

最近好多了。您可以输入pip install pyinstaller 来安装它,然后输入pyinstaller -w yourpythonscript.py 来将它编译成一个exe。【参考方案2】:

我会和 @Nicholas 一起推荐 PyInstaller(带有 --onefile 标志),但警告不要使用“最新版本”,PyInstaller 1.3 -- 它已经 了。使用“预发布”1.4,下载它here——或者更好的代码来自svn repo——安装SVN并运行svn co http://svn.pyinstaller.org/trunk pyinstaller

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

【讨论】:

我已经查看了您在此处提供的链接,它们不再可用。 PyIstaller 不仅可以处理一个文件,还可以处理Python 2.7 吗? PyInstaller 现在位于 GitHub 上,最高版本为 2.1,并支持 Python 2.7(以及其他版本)。当然“它适用于多个文件”(作为输入),但重点是生成一个文件作为输出。请参阅github.com/pyinstaller/pyinstaller/wiki 及其链接。【参考方案3】:

您可能想看看您的应用程序是否可以在 IronPython 下运行。如果是这样,您可以将其编译为exe http://www.codeplex.com/IronPython

【讨论】:

如果您使用 IronPython(我正在其中开发商业软件,请注意它需要 .NET Framework 2.0)【参考方案4】:

使用 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,
)

然后你可以通过命令提示符/空闲运行它,这两个都对我有用。希望对你有帮助

【讨论】:

【参考方案5】:

我建议去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'])

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

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

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

接下来,打开 dist 文件夹。

运行exe 文件。

如果有程序运行所需的文件,请将它们移动到文件夹中

复制/发送 dist 文件夹给 person。

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

希望它有效!:)

【讨论】:

这太棒了,我将我的脚本组织在几个相互使用的文件夹中,但是这种方法拾取了所有依赖项。我已经验证了 pyinstaller-2.0 并且没有拾取依赖项,导致生成的可执行文件打印与导入依赖项相关的错误。 我尝试使用此方法,但没有成功。当我在命令提示符下输入信息时,它只是运行了我的脚本【参考方案6】:

您可以通过以下方式为您的 EXE 文件创建安装程序: 1. 按 WinKey + R 2. 在运行窗口中输入“iexpress”(不带引号) 3. 完成创建安装程序的向导。 4. 分发完成的EXE。

【讨论】:

这不正确【参考方案7】:

1) 根据您的 Python 版本,从here 获取 py2exe。

2) 在要转换的脚本所在的文件夹中创建一个名为“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 文件。

【讨论】:

您能否删除此答案,因为它与 Bob 2 年前发布的答案重复。【参考方案8】:

您可以使用NSIS(Nullsoft 可脚本安装系统)从 python 脚本创建可执行文件。按照以下步骤将您的 python 文件转换为可执行文件。

在您的系统中下载并安装NSIS。

压缩.zip文件中要导出到可执行文件中的文件夹。

启动NSIS 并选择Installer based on ZIP file。查找并提供压缩文件的路径。

提供您的Installer NameDefault Folder 路径并点击Generate 以生成您的exe 文件。

完成后,您可以点击 Test 来测试可执行文件或点击 Close 来完成该过程。

生成的可执行文件可以安装在系统上,并且可以分发以使用此应用程序,甚至无需担心安装所需的 python 及其包。

视频教程请关注:How to Convert any Python File to .EXE

【讨论】:

以上是关于将简单的 Python 脚本转换为 Windows 可执行文件的过程 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 12.04 下使用 cx-freeze 将 Python 脚本转换为 Windows exe 文件

编写一个简单的 python 脚本,使用 lame 将特定文件夹中的所有 .wav 文件转换为 .mp3

如何使用 Python 将 .pptx 转换为 .pdf

用Python脚本转换成windows的可执行程序

超简单,只要27行Python代码,批量把ppt转换为pdf,实用(还不赶紧收藏)

如何将 msys shell 脚本转换为 windows exe 文件