一尘不染

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

python

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

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

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

  4. 我在安装pyinstaller所需的下载之前安装了它(pypi-something),所以它无法正常工作。下载必备文件后,pyinstaller仍然无法识别它。

  5. 如果要在2.7中设置virtualenv,实际上是否需要安装2.7?
  6. 同样,我看到的唯一的python至C ++转换器只能在python 3.5之前工作-尝试这样做是否需要下载并使用此版本?

阅读 283

收藏
2020-02-15

共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。它具有另一个文件夹。在该文件夹中,你可以找到你的应用程序。运行。让自己开心。
    请参阅我的博客中的原始脚本。
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
)

编辑:

  • 确保不要myfirstprog.py将步骤4中.py创建的扩展名放在文件名中;
  • 你应该包括每import版包你.py到packages列表(例如:packages = [“idna”, “os”,”sys”])
  • any name, any number, any description在setup.py文件不应保持不变,就应该相应地改变它(例如:name = ““, version = “0.11”, description = ‘’)
  • 在import你开始之前,编辑软件包必须安装第8步。
2020-02-15