【问题标题】:Converting a python 3.8 file to .exe将 python 3.8 文件转换为 .exe
【发布时间】:2020-03-26 19:40:18
【问题描述】:

我已经尝试这样做了一段时间。 我按照教程说你应该先安装 pyinstaller。所以,我安装了它。然后它说你应该在cmd中写pyinstaller --onefile -w file_name.py。我也有一个问题(有一个错误)。所以,我安装了另一个版本的 pyinstaller。我写了同样的东西,但没有创建 .exe 文件,只有一个名为“pycache”的新文件夹,里面有一个新的 .pyc 文件(我想这是我想变成的文件的一个版本。EXE文件)。 然后我尝试安装 cx freeze 但 pip 不会安装它。

我不知道最好的方法是什么,也许你们中的某个人已经尝试过这样做?

编辑 - 这是我在 cmd 中写的内容和它所说的内容:

K:\>pyinstaller --onefile -w K:\geut_project\client_nuovo.py

74 INFO: PyInstaller: 4.0.dev0+9dd34bdfba

74 INFO: Python: 3.8.0

74 INFO: Platform: Windows-10-10.0.17134-SP0

250 INFO: wrote K:\client_nuovo.spec

252 INFO: UPX is not available.

261 INFO: Extending PYTHONPATH with paths

['K:\\geut_project', 'K:\\']

261 INFO: checking Analysis

312 INFO: checking PYZ

364 INFO: checking PKG

380 INFO: Building because K:\build\client_nuovo\client_nuovo.exe.manifest changed

380 INFO: Building PKG (CArchive) PKG-00.pkg

3881 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.

3897 INFO: Bootloader c:\users\user1\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\bootloader\Windows-64bit\runw.exe

3898 INFO: checking EXE

3918 INFO: Rebuilding EXE-00.toc because pkg is more recent

3918 INFO: Building EXE from EXE-00.toc

3929 INFO: Appending archive to EXE K:\dist\client_nuovo.exe

6885 INFO: Building EXE from EXE-00.toc completed successfully.

K:\>

正如我所说,我希望它会创建一个可执行文件,但它没有(据我所知)。它只创建了一个名为 __ pycache__ 的文件夹和一个名为 client_nuovo.cpython-38.pyc 的文件(原始文件的名称是 client_nuovo)。

【问题讨论】:

  • 您能否提供更多有关您在使用 pyinstaller 时遇到的错误的信息?
  • 没有错误..可执行文件在此路径K:\dist\client_nuovo.exe
  • @yxor 啊...谢谢 :)
  • 为什么要把.py转换成.exe

标签: python pyinstaller executable cx-freeze python-3.8


【解决方案1】:

我与这个问题斗争了大约 3 周,然后偶然发现了一个简单的解决方案,该解决方案适用于任何系统,并且应该适用。我正在运行 mac,并且正在尽我最大的努力制作带有 pngpygame 文件,并且字体依赖项作为 exec 文件运行。这是有效的方法,在终端中使用python3.6 创建一个虚拟环境。命令很简单。

#如果你没有安装虚拟环境,请pip install virtualenv

然后下一行换行。

virtualenv venv -p python3.6

source venv/bin/activate

pip install pyinstaller

pyinstaller -F myfile.py

如果您有 png 或其他依赖项,您将需要修改 pyinstaller 刚刚在您的工作目录中创建的 myfile.spec 文件。如果你没有任何依赖文件,你的 exe 已经准备好了,你可以离开这里。 exe文件位于名为'dist'的文件夹中

打开规范文件,然后转到名为datas[] 的区域。您将需要像这样添加依赖项。 assets 文件夹正是我决定保存资产的地方,如果您只是将资产与 python 文件放在同一个文件夹中,请按照我放入数据的第二行。

datas = [('assets/picture.png', 'assets'), ('assets/font.ttf', 'assets')]

#if the dependancies are in the same folder as the pyfile:
datas = [('picture.png', '.'), ('font.ttf', '.')]

保存规范文件,然后返回终端并输入以下内容:

pyinstaller myfile.spec

它可能会询问您是否要从初始文件夹中删除一些数据,这些数据将以“删除此数据[y/N]?”之类的内容结尾。输入y

现在您可以从名为“dist”的文件夹中获取 exe 文件,并且可以删除文件夹“pycache”、“dist”、“build”和规范文件。 exe 现在应该可以通过双击来运行。

【讨论】:

    【解决方案2】:

    根据这个问题,PyInstaller 还不支持 python 3.8: https://github.com/pyinstaller/pyinstaller/issues/4311

    【讨论】:

    猜你喜欢
    • 2016-11-21
    • 1970-01-01
    • 2022-06-10
    • 2019-07-13
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多