[英]How can I convert a .py to .exe for Python?
我正在嘗試將一個相當簡單的 Python 程序轉換為可執行文件,但找不到我想要的東西,所以我有幾個問題(我正在運行 Python 3.6):
到目前為止我發現的這樣做的方法如下
pyinstaller/py2exe
這是我嘗試過的/遇到的問題。
pyinstaller
(pypi-something),所以它不起作用。 下載必備文件后, pyinstaller
仍然無法識別它。在 Python 3.6 中將 .py 轉換為 .exe 的步驟
pip install cx_Freeze
。pip install idna
。myfirstprog.py
的.py
程序。setup.py
的新 python 文件。setup.py
文件中,復制下面的代碼並保存。python setup.py build
build
。 它里面有另一個文件夾。 在該文件夾中,您可以找到您的應用程序。 運行。 讓自己快樂。請參閱我的博客中的原始腳本。
設置.py:
from cx_Freeze import setup, Executable
base = None
executables = [Executable("myfirstprog.py", base=base)]
packages = ["idna"]
options = {
'build_exe': {
'packages':packages,
},
}
setup(
name = "<any name>",
options = options,
version = "<any number>",
description = '<any description>',
executables = executables
)
編輯:
.py
擴展文件名,而不是myfirstprog.py
;.py
中的每個import
ed 包包含到packages
列表中(例如: packages = ["idna", "os","sys"]
)setup.py
文件中的any name, any number, any description
都不應保持不變,您應該相應地對其進行更改(例如: name = "<first_ever>", version = "0.11", description = ''
)import
的包。PyInstaller 支持 Python 3.6。
在 Python 文件夾中打開一個 cmd 窗口(打開一個命令窗口並使用cd
或按住 shift 鍵,在 Windows 資源管理器上右鍵單擊它並選擇“在此處打開命令窗口”)。 然后輸入
pip install pyinstaller
就是這樣。
使用它的最簡單方法是在命令提示符下輸入
pyinstaller file_name.py
有關如何使用它的更多詳細信息,請查看此問題。
我不能告訴你什么是最好的,但我過去成功使用的一個工具是cx_Freeze 。 他們最近(2017 年 1 月 7 日)更新到版本 5.0.1,它支持 Python 3.6。
這是pypi https://pypi.python.org/pypi/cx_Freeze
該文檔顯示,根據您的需要,有不止一種方法可以做到這一點。 http://cx-freeze.readthedocs.io/en/latest/overview.html
我還沒有嘗試過,所以我將指向一篇討論了簡單方法的帖子。 不過,有些事情可能已經改變,也可能沒有改變。
現在您可以使用 PyInstaller 對其進行轉換。 它甚至適用於 Python 3。
腳步:
pip install pyinstaller
pyinstaller <filename>
我一直在將 Nuitka 和 PyInstaller 與我的包 PySimpleGUI 一起使用。
Nuitka讓 tkinter 與 Nuikta 一起編譯存在問題。 項目貢獻者之一開發了一個腳本來解決這個問題。
如果您不使用 tkinter,它可能對您“有效”。 如果您使用的是 tkinter,請這樣說,我會嘗試發布腳本和說明。
PyInstaller我正在運行 3.6,PyInstaller 運行良好! 我用來創建我的 exe 文件的命令是:
pyinstaller -wF myfile.py
-wF 將創建單個 EXE 文件。 因為我所有的程序都有一個 GUI 並且我不想顯示命令窗口,所以 -w 選項將隱藏命令窗口。
這與運行看起來像用 Python 編寫的 Winforms 程序一樣接近。
[2019 年 7 月 20 日更新]
有使用 PyInstaller 的基於 PySimpleGUI GUI 的解決方案。 它使用 PySimpleGUI。 它叫做pysimplegui-exemaker ,可以通過 pip 安裝。
pip install PySimpleGUI-exemaker
安裝后運行它:
python -m pysimplegui-exemaker.pysimplegui-exemaker
最好和最簡單的方法肯定是auto-py-to-exe ,我已經給出了下面的所有步驟和危險信號,您只需 5 分鍾即可獲得最終的 .exe 文件,因為您無需學習任何東西使用它。
1.) 我猜在某些設備上它可能不適用於 python 3.9。
2.) 在安裝 python 時,如果您選擇了“將 python 3.x 添加到路徑”,請從開始菜單打開命令提示符,您必須輸入pip install auto-py-to-exe
來安裝它。 您必須在命令提示符下按 enter 才能獲得您正在輸入的行的結果。
3.) 安裝后,在命令提示符下,您只需鍵入auto-py-to-exe
即可打開它。 它將打開一個新窗口。 第一次可能需要一分鍾。 此外,關閉命令提示符也會關閉 auto-py-to-exe,所以在准備好 .exe 文件之前不要關閉它。
4.) 將有用於制作 .exe 文件所需的一切按鈕,並在下面共享它的屏幕截圖。 此外,對於圖標,您需要一個 .ico 文件而不是圖像,因此要轉換它,您可以使用https://convertio.co/
5.) 如果您的腳本使用外部文件,您可以通過 auto-py-to-exe 添加它們,並且在腳本中,您必須對其路徑進行一些更改。 首先,如果還沒有寫,你必須寫import sys
,其次,你必須為例如location=getattr(sys,"_MEIPASS",".")+"/"
創建一個變量,第三,示例的位置。如果它不在任何文件夾中,則 png 將是location+"/example.png"
。
6.) 如果它顯示任何錯誤,可能是因為名為 setuptools 的模塊不是最新版本。 要將其升級到最新版本,在命令提示符下,您必須編寫pip install --upgrade setuptools
。 此外,在腳本中,編寫import setuptools
可能會有所幫助。 如果 setuptools 的版本超過 50.0.0,那么一切都應該沒問題。
7.) 完成所有這些步驟后,在 auto-py-to-exe 中,轉換完成后,.exe 文件將位於您選擇的文件夾中(默認情況下,它是 'c:/users/name /output') 或者如果你有一個,它會被你的殺毒軟件刪除。 每個防病毒軟件都有不同的方法來恢復文件,所以如果您不知道,請嘗試一下。
以下是如何使用 auto-py-to-exe 的簡單 GUI 來制作 .exe 文件。
PyOxidizer可以是這里的一個選項。 它在 Github 上受到 3.3k 星的歡迎。 它的文件說
PyOxidizer 能夠生成單個文件可執行文件 - 具有 Python 的副本及其所有靜態鏈接的依賴項以及嵌入在可執行文件中的所有資源(如 .pyc 文件)。 您可以將單個可執行文件復制到另一台機器並運行其中包含的 Python 應用程序。 它只是工作。
雖然我不確定它是否能夠生成 .exe 文件 PyOxidizer 肯定有助於打包和分發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.