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

时间:2017-01-10 13:44:59

标签: python python-3.x exe py2exe python-3.6

我试图将一个相当简单的Python程序转换为可执行文件而无法找到我要找的东西,所以我有几个问题(我正在运行Python3.6):

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

  1. 下载旧版本的Python并使用pyinstaller/py2exe
  2. 在3.6中设置一个允许我做1的虚拟环境。
  3. 将Python下载到C ++转换器并使用它。
  4. 这是我尝试过的/我遇到的问题。

    • 我在之前所需的下载之前安装了pyinstaller(pypi-something),所以它不起作用。下载必备文件后,pyinstaller仍然无法识别它。
    • 如果我在2.7中设置了virtualenv,我是否真的需要安装2.7?
    • 同样地,我看到的唯一一个到C ++转换器的python只能运行到python 3.5 - 如果尝试这个,我是否需要下载并使用这个版本?

7 个答案:

答案 0 :(得分:85)

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

  1. 安装Python 3.6
  2. 安装cx_Freeze,(打开命令提示符并键入pip install cx_Freeze
  3. 安装idna,(打开命令提示符并键入pip install idna
  4. 撰写名为.py的{​​{1}}计划。
  5. 在脚本的当前目录中创建一个名为myfirstprog.py的新python文件。
  6. setup.py文件中,复制以下代码并保存。
  7. 按住Shift键右键单击同一目录,这样就可以打开命令提示符窗口。
  8. 在提示中,键入setup.py
  9. 如果您的脚本没有错误,那么创建应用程序就没有问题。
  10. 检查新创建的文件夹python setup.py build。它有另一个文件夹。在该文件夹中,您可以找到您的应用程序运行。让自己快乐。
  11. 请参阅我blog中的原始脚本。

    <强> setup.py:

    build

    编辑:

    • 请确保代替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中的每个import ed包添加到.py列表中(例如:packages
    • packages = ["idna", "os","sys"]文件中的
    • any name, any number, any description不应保持不变,您应该相应地更改它(例如:setup.py
    • 在开始第8步
    • 之前,必须先安装name = "<first_ever>", version = "0.11", description = ''个ed包。

答案 1 :(得分:44)

Pyinstaller仍然不支持Python 3.6。因此,为了使用它,您将需要Python 3.5或更低版本。我不确定py2exe。

无论如何,案例1应该这样做:

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

pip install pyinstaller

就是这样。

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

pyinstaller file_name.py

有关如何使用它的更多详细信息,请查看this question

<强>更新

Pyinstaller现在支持Python 3.6

答案 2 :(得分:10)

有一个名为auto-py-to-exe on Github的开源项目。实际上,它也仅在内部使用Pyinstaller,但由于它具有控制Pyinstaller的简单GUI,因此它可能是一个舒适的选择。与其他解决方案相比,它还可以输出独立文件。他们还提供a video,说明如何设置。

GUI:

Auto Py to Exe

输出:

Output

答案 3 :(得分:6)

我不能告诉你什么是最好的,但我过去成功使用的工具是cx_freeze。他们最近更新(1月7日,#17; 17)到5.0.1版,它支持Python 3.6。

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

文档显示,根据您的需要,有多种方法可以执行此操作 http://cx-freeze.readthedocs.io/en/latest/overview.html

我还没有尝试过,所以我要指出一个帖子,其中讨论了简单的方法。有些事情可能会或可能没有改变 How do I use cx_freeze?

答案 4 :(得分:2)

py2exe是distutils扩展,它允许从Python脚本构建独立的Windows可执行程序(32位和64位)。支持Python 3.3和更高版本。它可以构建控制台可执行文件,Windows(GUI)可执行文件,Windows服务和DLL / EXE COM服务器。

您可以在这里下载:

https://pypi.org/project/py2exe/

答案 5 :(得分:2)

我一直将Nuitka和PyInstaller与我的软件包PySimpleGUI一起使用。

Nuitka 使tkinter与Nuikta进行编译存在一些问题。一个项目贡献者开发了一个脚本来解决该问题。

如果您不使用tkinter,则可能对您“有效”。如果您使用的是tkinter,请这样说,我将尝试发布脚本和说明。

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

  

pyinstaller -wF myfile.py

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

这几乎可以使运行用Python编写的Winforms程序看起来像

答案 6 :(得分:0)

最好和最简单的方法肯定是自动转至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(如果尚未编写),其次,必须为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:/用户/名称/输出”),或者如果您拥有防病毒软件,则防病毒软件会将其删除。每种防病毒软件都有不同的还原文件的方法,因此,如果您不知道,请尝试一下。

在这里,可以使用auto-py-to-exe的简单GUI来制作.exe文件。

enter image description here