簡體   English   中英

將 python 3.8 文件轉換為 .exe

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM