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

2024-11-29 08:42:00
admin
原创
128
摘要:问题描述:我正在尝试将一个相当简单的 Python 程序转换为可执行文件,但找不到我想要的内容,所以我有几个问题(我正在运行 Python 3.6):到目前为止我发现的方法如下下载旧版本的 Python 并使用pyinstaller/py2exe在 Python 3.6 中设置一个虚拟环境,以便我能够执行 1...

问题描述:

我正在尝试将一个相当简单的 Python 程序转换为可执行文件,但找不到我想要的内容,所以我有几个问题(我正在运行 Python 3.6):

到目前为止我发现的方法如下

  1. 下载旧版本的 Python 并使用pyinstaller/py2exe

  2. 在 Python 3.6 中设置一个虚拟环境,以便我能够执行 1。

  3. 下载 Python 到 C++ 转换器并使用它。

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

  • pyinstaller之前安装了所需的下载(pypi-something),所以它不起作用。下载必备文件后,pyinstaller仍然无法识别它。

  • 如果我在 Python 2.7 中设置虚拟环境,我是否真的需要安装 Python 2.7?

  • 类似地,我看到的唯一的 Python 到 C++ 转换器只适用于 Python 3.5 之前版本 - 如果尝试这样做,我是否需要下载并使用此版本?


解决方案 1:

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

  1. 安装Python 3.6。

  2. 安装 cx_Freeze,(打开命令提示符并输入pip install cx_Freeze

  3. 安装 idna,(打开命令提示符并输入pip install idna

  4. 编写一个.py名为的程序myfirstprog.py

  5. setup.py在脚本的当前目录中创建一个名为的新 python 文件。

  6. setup.py文件中,复制下面的代码并保存。

  7. 按住 Shift 键并右键单击同一目录,这样您就可以打开命令提示符窗口。

  8. 在提示符中输入python setup.py build

  9. 如果您的脚本没有错误,那么创建应用程序就不会有问题。

  10. 检查新创建的文件夹build。它里面还有另一个文件夹。在该文件夹中,您可以找到您的应用程序。运行它。让自己开心。

原始脚本请见我的博客。

设置.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
)

编辑:

  • 确保myfirstprog.py您应该输入在步骤 4.py中创建的扩展文件名;

  • 您应该将每个imported 包都包含在您的.pyintopackages列表中(例如packages = ["idna", "os","sys"]:)

  • any name, any number, any description文件中的setup.py内容不应保持不变,您应该相应地进行更改(例如name = "<first_ever>", version = "0.11", description = '':)

  • 在开始步骤 8import之前,必须安装 ed包。

解决方案 2:

PyInstaller 支持 Python 3.6。

在 Python 文件夹中打开一个 cmd 窗口(打开命令窗口并使用cd或 按住 shift,在 Windows 资源管理器上右键单击它并选择“在此处打开命令窗口”)。然后只需输入

pip install pyinstaller

就是这样。

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

pyinstaller file_name.py

有关如何使用它的更多详细信息,请查看这个问题。

解决方案 3:

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

图形用户界面(GUI):

自动 Py 转 Exe

输出:

输出

或者直接使用 pyinstaller:

pip install pyinstaller
pyinstaller filename

解决方案 4:

我无法告诉你什么是最好的,但我过去成功使用的工具是cx_Freeze。他们最近(2017 年 1 月 7 日)更新到版本 5.0.1,它支持 Python 3.6。

这是 pypi
https://pypi.python.org/pypi/cx_Freeze

文档显示有多种方法可以做到这一点,具体取决于您的需要。http
://cx-freeze.readthedocs.io/en/latest/overview.html

我还没有尝试过,所以我要指出一篇讨论过简单方法的帖子。不过有些事情可能会改变,也可能不会改变。

如何使用 cx_freeze?

解决方案 5:

现在您可以使用 PyInstaller 进行转换。它甚至可以与 Python 3 一起使用。

步骤:

  1. 启动你的电脑

  2. 打开命令提示符

  3. 输入命令pip install pyinstaller

  4. 安装完成后,使用命令“cd”转到工作目录。

  5. 运行命令pyinstaller <filename>

解决方案 6:

我一直在我的包 PySimpleGUI 中使用 Nuitka 和 PyInstaller。

Nuitka
tkinter 与 Nuikta 编译时出现问题。项目贡献者之一开发了一个脚本来修复此问题。

如果您不使用 tkinter,它可能“刚好适合您”。如果您使用 tkinter,请告知,我会尝试发布脚本和说明。

PyInstaller
我正在运行 3.6,PyInstaller 运行良好!我用来创建 exe 文件的命令是:

pyinstaller-wF myfile.py 复制代码

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

这与运行用 Python 编写的 Winforms 程序非常接近。

[2019 年 7 月 20 日更新]

有一个基于 PySimpleGUI GUI 的解决方案,它使用 PyInstaller。它使用 PySimpleGUI。它被称为pysimplegui-exemaker,可以通过 pip 安装。

pip install PySimpleGUI-exemaker

安装后运行:

python -m pysimplegui-exemaker.pysimplegui-exemaker

解决方案 7:

最好和最简单的方法肯定是自动 py 到 exe,我已经给出了下面的所有步骤和警告,您只需 5 分钟即可获得最终的 .exe 文件,因为您无需学习任何内容即可使用它。

1.) 我猜想它可能不适用于某些设备上的 python 3.9。

2.) 安装 Python 时,如果您选择了“将 Python 3.x 添加到路径”,请从开始菜单打开命令提示符,然后键入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如果尚未写入,则必须写入;其次,您必须为例如创建一个变量;第三,如果 example.png 不在任何文件夹中,则location=getattr(sys,"_MEIPASS",".")+"/"其位置将是。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”),或者如果您有杀毒软件,它将被杀毒软件删除。每个杀毒软件都有不同的方法来恢复文件,所以如果您不知道,就试试吧。

以下是如何使用 auto-py-to-exe 的简单 GUI 来制作 .exe 文件。

在此处输入图片描述

解决方案 8:

PyOxidizer可以作为这里的一个选择。它在 Github 上非常受欢迎,有 3.3k 个星。它的文档说

PyOxidizer 能够生成单个文件可执行文件 - 其中包含 Python 副本及其所有依赖项的静态链接,以及嵌入在可执行文件中的所有资源(如 .pyc 文件)。您可以将单个可执行文件复制到另一台机器并运行其中包含的 Python 应用程序。它就是有效。

虽然我不确定它是否能够生成 .exe 文件,但 PyOxidizer 确实有助于包装和分发。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1056  
  在项目管理的各个阶段中,CDCP(概念设计到商业化生产)阶段尤为关键,它不仅是产品从概念到市场落地的桥梁,也是创新与风险控制的博弈场。创新是推动项目成功的核心动力,而风险控制则是确保项目稳健前行的基石。如何在CDCP阶段平衡这两者,是每个项目管理者和团队必须面对的挑战。创新往往伴随着不确定性,而风险控制则强调对不确定性...
华为IPD流程   1  
  华为的集成产品开发(IPD)流程是业界公认的高效产品开发方法论,旨在通过结构化、系统化的方式提升产品开发的效率和质量。然而,随着市场需求的快速变化,传统的IPD流程也面临着如何快速响应市场、缩短开发周期、提高灵活性的挑战。为了应对这些挑战,华为在IPD流程的基础上进行了持续的优化和创新,使其能够更好地适应快速变化的市场...
华为IPD流程   0  
  华为作为全球领先的通信技术公司,其成功不仅依赖于技术创新,更得益于其科学的管理体系。其中,集成产品开发(IPD)模式是华为产品开发流程的核心,而技术评审与质量保障机制则是IPD中确保产品成功的关键环节。通过系统化的技术评审和严格的质量保障措施,华为能够在产品开发的每个阶段有效识别并解决潜在问题,从而减少返工、提高效率,...
IPD测试流程   0  
  IPD(Integrated Product Development,集成产品开发)是一种以客户需求为导向、跨职能团队协作的产品开发管理模式。它强调在产品开发的早期阶段就整合市场、研发、制造、供应链等多个部门的资源和能力,从而缩短开发周期、降低成本并提高产品质量。IPD的成功实施依赖于多个关键因素,这些因素不仅决定了开...
华为IPD流程   0  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用