[英]Converting a python 3.8 file to .exe
我已經嘗試這樣做了一段時間。 我按照教程說你應該先安裝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 還不支持 python 3.8: https : //github.com/pyinstaller/pyinstaller/issues/4311
我與這個問題斗爭了大約 3 周,然后偶然發現了一個簡單的解決方案,該解決方案有效並且無論系統如何都應該有效。 我正在運行 mac 並且正在盡我最大的努力制作一個帶有png
和字體依賴項的pygame
文件作為 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”和規范文件。 exe 現在應該只需雙擊它就可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.