如何将.py 转换为 Python 的.exe?

我正在尝试将一个相当简单的 Python 程序转换成可执行程序,但是找不到我要找的东西,所以我有几个问题(我正在运行 Python 3.6) :

这样做的方法,我已经发现到目前为止如下

  1. 下载旧版本的 Python 并使用 pyinstaller/py2exe
  2. 在 Python 3.6中设置一个虚拟环境,允许我执行1。
  3. 下载 Python 到 C + + 转换器并使用。

以下是我尝试过的/遇到过的问题。

  • 我在必需的下载之前安装了 pyinstaller(pypi-something) ,所以它不能工作。下载必备文件后,pyinstaller仍然不能识别它。
  • 如果我要在 Python 2.7中设置一个 viralenv,我真的需要安装 Python 2.7吗?
  • 类似地,我看到的唯一的 Python 到 C + + 转换器只能工作到 Python 3.5——如果尝试这样做,我是否需要下载并使用这个版本?
525831 次浏览

PyInstaller 支持 Python 3.6。

在 Python 文件夹中打开 cmd 窗口(打开命令窗口并使用 cd,或者保持 shift 不变,右键单击文件资源管理器,选择“在这里打开命令窗口”)。那就进去吧

pip install pyinstaller

就是这样。

使用它的最简单方法是在命令提示符下输入

pyinstaller file_name.py

有关如何使用它的更多细节,请参见 这个问题

我不能告诉你什么是最好的,但我曾经成功使用的工具是 不许动。他们最近(在1月7日,17日)升级到了5.0.1版,并且支持 Python 3.6。

这是皮皮 Https://pypi.python.org/pypi/cx_freeze

文档显示,根据您的需要,有不止一种方法可以做到这一点。 Http://cx-freeze.readthedocs.io/en/latest/overview.html

我还没有尝试过,所以我要指出一个帖子,在那里讨论了这个简单的方法。不过,有些事情可能已经发生了变化,也可能没有变化。

如何使用 cx _ zen?

在 Python 3.6中将. py 转换为. exe 的步骤

  1. 安装 Python 3.6
  2. 安装 cx _ Frame,(打开命令提示符并键入 pip install cx_Freeze
  3. 安装 idna,(打开命令提示符并键入 pip install idna
  4. 编写一个名为 myfirstprog.py.py程序。
  5. 在脚本的工作目录创建一个名为 setup.py的新 python 文件。
  6. setup.py文件中,复制下面的代码并保存它。
  7. 在同一个目录上按住 shift 右键单击,这样您就可以打开一个命令提示窗口。
  8. 在提示符中,键入 python setup.py build
  9. 如果您的脚本没有错误,那么在创建应用程序时就不会有问题。
  10. 检查新创建的文件夹 build。里面还有一个文件夹。在该文件夹中可以找到您的应用程序。运行它。让自己开心点。

请参阅我的 博客中的原始脚本。

Setup.py:

from cx_Freeze import setup, Executable


base = None


executables = [Executable("myfirstprog.py", base=base)]


packages = ["idna"]
options = {
'build_exe': {
'packages':packages,
},
}


setup(
name = "<any name>",
options = options,
version = "<any number>",
description = '<any description>',
executables = executables
)

编辑:

  • 确保你的 .py扩展文件名是在 步骤4中创建的,而不是 myfirstprog.py;
  • 你应该把 .py中的每个 imported 包放到 packages列表中(例如: packages = ["idna", "os","sys"])
  • setup.py文件中的 any name, any number, any description不应该保持不变,你应该相应地改变它(例如: name = "<first_ever>", version = "0.11", description = '')
  • 在启动 步骤8之前必须安装 imported 包。

有一个名为 auto-py-to-exe 在 GitHub 上的开源项目。实际上,它也只是在内部使用 PyInstaller,但是因为它有一个控制 PyInstaller 的简单 GUI,所以它可能是一个舒适的替代方案。它还可以输出与其他解决方案不同的独立文件。他们还提供了 一段视频,说明如何设置它。

图形用户界面:

Auto Py to Exe

产出:

Output

或者直接使用烟囱安装器:

pip install pyinstaller
pyinstaller filename

现在您可以通过使用 PyInstaller 来转换它,它甚至可以与 Python3一起工作。

步骤:

  1. 启动你的电脑
  2. 打开命令提示符
  3. 输入命令 pip install pyinstaller
  4. 安装后,使用 cd 命令进入工作目录。
  5. 运行命令 pyinstaller <filename>

我在自己的包 PySimpleGUI 中使用了 Nuitka 和 PyInstaller。

努伊特卡 在使用 Nuikta 编译 tkinter 时遇到了一些问题。一个项目贡献者开发了一个脚本来修复这个问题。

如果你不使用 tkinter,它可能“只是为你工作”。如果你正在使用 tkinter 这样说,我将尝试让脚本和指令发布。

PyInstaller 我正在运行3.6,而且 PyInstaller 工作得很好! 我用来创建 exe 文件的命令是:

Pyinstaller-wF myfile.py

WF 将创建一个 EXE 文件。因为我的所有程序都有一个 GUI,我不想命令窗口显示,-w 选项将隐藏命令窗口。

这与使用 Python 编写的 看起来像运行 Winform 程序非常接近。

[2019年7月20日更新]

有一个使用 PyInstaller 的基于 PySimpleGUI 的解决方案。它使用 PySimpleGUI。它叫 Psimplegui-exemaker,可以安装 pip。

pip install PySimpleGUI-exemaker

安装后运行:

python -m pysimplegui-exemaker.pysimplegui-exemaker

最好和最简单的方法是 自动执行的肯定,我已经给出了所有的步骤和红旗下面,将只需要5分钟就可以得到一个期末考试。Exe 文件,因为使用它不需要学习任何东西。

1)我猜在某些设备上,它可能不适用于 python 3.9。

2)在安装 python 时,如果您选择了“将 python 3.x 添加到 path”,那么从开始菜单中打开命令提示符,您将必须键入 pip install auto-py-to-exe才能安装它。您必须在命令提示符下按 Enter 才能得到您正在键入的行的结果。

3)一旦安装完成,在命令提示符上,您只需键入 auto-py-to-exe就可以打开它。它会打开一个新的窗口。第一次可能要花上一分钟。此外,关闭命令提示符将关闭 auto-py-to-exe,因此在您拥有。Exe 文件准备就绪。

4)你需要做的所有东西都会有按钮。下面共享 exe 文件的截图。另外,对于图标,您需要一个。用 ico 文件代替图像进行转换,可以使用 https://convertio.co/

5)如果您的脚本使用外部文件,您可以通过 auto-py-to-exe 将它们添加到脚本中,您将不得不对它们的路径进行一些更改。首先,如果还没有写入 import sys,那么必须写入 import sys; 其次,必须为诸如 location=getattr(sys,"_MEIPASS",".")+"/"之类的变量创建一个变量; 第三,如果 example.png 不在任何文件夹中,那么它的位置应该是 location+"/example.png"

6)如果出现任何错误,可能是因为名为 setuptools 的模块不在最新版本中。要将其升级到最新版本,在命令提示符下,必须编写 pip install --upgrade setuptools。此外,在脚本中,编写 import setuptools可能会有所帮助。如果 setuptools 的版本超过50.0.0,那么一切都会很好。

7)完成所有这些步骤后,在 auto-py-to-exe 中,当转换完成时,将。Exe 文件将位于您选择的文件夹中(默认情况下,它是“ c:/users/name/output”) ,否则,如果您有一个 exe 文件,它将被您的防病毒程序删除。每个杀毒软件都有不同的方法来恢复一个文件,所以如果你不知道的话就试试吧。

下面介绍如何使用 auto-py-to-exe 的简单 GUI 创建一个. exe 文件。

enter image description here

PyOxidizer 可以在这里选择,它在 Github 上的3.3 k 星非常流行

PyOxidzer 能够生成一个单独的文件可执行文件——带有 Python 的副本及其所有静态链接的依赖项和所有资源(如。内嵌在可执行文件中的 pyc 文件)。您可以将单个可执行文件复制到另一台计算机,并运行其中包含的 Python 应用程序。就是这样。

虽然我不确定它是否能够产生. exe 文件 PyOxidzer 肯定有助于打包和分发。