我已经尝试了一段时间。
我遵循了一个教程,该教程说您应该首先安装 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)。
答案 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即可正常工作。