将.py文件转换为exe

时间:2016-12-02 21:52:10

标签: python python-2.7 python-3.x

我已经使用selenium模块在python中编写了一个程序,我想将它发送给我的朋友,以便他可以尝试一下。有什么方法可以将.py转换为可执行文件,这样他就不必下载Selenium模块和我使用的所有其他模块了吗?我在Windows 8.1上也是如此。

1 个答案:

答案 0 :(得分:2)

为此,您可以使用 PyInstaller http://www.pyinstaller.org/。 它支持Python 2和Python 3。

只需安装(https://pyinstaller.readthedocs.io/en/stable/installation.html)并按照此官方说明操作:https://pyinstaller.readthedocs.io/en/stable/usage.html

  

在最简单的情况下,将当前目录设置为程序myscript.py的位置并执行:

     

pyinstaller myscript.py

我自己的使用场景

对于包含 x86(32位) exe和其他所需文件的结果文件夹:

"D:\Python35-32\Scripts\pyinstaller.exe" MY_SCRIPT_NAME.py --distpath "./x86/dist" --workpath "./x86/build" --specpath "./x86"

此cmd命令应从程序MY_SCRIPT_NAME.py的位置运行。 它将创建包含两个子文件夹的"./x86"文件夹:

  • "./x86/build" - 构建流程的临时文件夹
  • "./x86/dist" - 结果文件夹,其中包含所有需要的文件(主要文件,dll等)

对于包含 x86-64(64位) exe和其他所需文件的结果文件夹:

"D:\Python35\Scripts\pyinstaller.exe" MY_SCRIPT_NAME.py --distpath "./x86_64/dist" --workpath "./x86_64/build" --specpath "./x86_64"

正如您所看到的,您应该使用适当的Python解释器来生成特定的exe:32位解释器以生成32位exe和64位解释器以生成64位exe

可能存在的问题及其解决方案

如果结果exe会引发一些关于&#34的错误;找不到dll" - 这意味着PyInstaller找不到所需的dll。

因此,您需要手动找到它并将其放置到"./x86/dist"文件夹(到主exe的位置)。

例如,这种类型的dll可以存储在"C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86"文件夹中(通常在"C:\Program Files (x86)\Windows Kits\10\Redist"文件夹的不同子文件夹中)。如果您已经安装了带有Windows工具包的MS Visual Studio。