将pyton 3.8文件转换为.exe

时间:2019-12-02 08:03:23

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

我已经尝试了一段时间。 我遵循了一个教程,该教程说您应该首先安装 pyinstaller 。因此,我安装了它。然后,它说您应该在cmd中写入pyinstaller --onefile -w file_name.py。我也有一个问题(有一个错误)。因此,我安装了另一个版本的pyinstaller。我写了同样的东西,但是没有创建.exe文件,只有一个名为“ pycache ”的新文件夹,其中包含一个新的.pyc文件(我想这是我要转换成的文件的版本。可执行程序)。 然后我尝试安装cx Frozen,但是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)。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我为此问题奋斗了大约3个星期,然后绊倒了一个可行且无论系统如何均应工作的简单解决方案。我正在运行mac,并且正在尽最大努力使用pygame来制作png文件,并且字体依赖项作为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[]的区域。您需要像这样添加依赖项。如果您只是将资产与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”和spec文件。现在,只需双击该exe即可正常工作。