1.說明
寫好的Python程序如果想要拿到其他電腦上運行,那還得安裝一下Python環(huán)境和各種庫,這是比較麻煩的,所以有必要把它打包成一個可執(zhí)行的exe文件。可以打包exe的庫有好多個,比如說pyinstaller、cx_Freeze等。
pyinstaller打包比較簡單,如果有需要可以參考之前的文章【Python】使用pyinstaller打包Python程序為EXE可執(zhí)行程序
但是使用pyinstaller打包出來的程序被360報毒了(主要是我的代碼有系統(tǒng)權(quán)限操作,會觸發(fā)報毒機制),后來換成nuitka打包就沒有報毒
2.安裝環(huán)境
最方便的安裝方式就是使用pip安裝
pip install nuitka
因為nuitka是通過c++的方式進行編譯的,所以還需要c++的編譯環(huán)境,可以手動安裝一下
下載鏈接:https://winlibs.com/#download-release
建議下載壓縮包版,之后手動添加到環(huán)境變量,即在cmd輸入gcc -v
能看到版本信息就應(yīng)該沒問題了
其實不手動安裝也行,因為使用nuitka的時候它檢測到?jīng)]有安裝就會提示你安裝了,到時候輸入"yes"就會自動安裝了
3.打包
在cmd使用nuitka命令加上要打包的py文件就行了,當(dāng)然,我們需要看看它有哪些好用的選項nuitka --help
就能看到用法,這里列出幾個比較常用的選項
選項 | 說明 |
---|---|
--standalone |
打包成單獨的程序(可以拿到其他電腦使用) |
--enable-plugin |
指定需要加載的插件,比如說tk-inter、pyqt5等 |
--plugin-list |
查看支持的插件 |
--output-dir |
輸出目錄,不指定則是當(dāng)前工作目錄 |
--onefile |
打包成一個文件,即把全部文件壓縮成一個(默認是多個文件和文件夾) |
--windows-disable-console |
隱藏控制臺窗口 |
--show-progress |
顯示打包進度 |
--show-memory |
顯示內(nèi)存占用情況 |
--remove-output |
打包結(jié)束之后自動清理build文件夾 |
--windows-icon-from-ico |
指定程序圖標(biāo)(針對Windows系統(tǒng)) |
--mingw64 |
指定使用MinGW6編譯(默認是MSYS2) |
--msvc |
指定使用MSVC的版本,不指定則使用系統(tǒng)默認版本 |
--company-name |
公司名 |
--product-name |
產(chǎn)品名 |
--file-version |
文件版本,最多4個數(shù)字序列,例如1.0、1.0.0.0 |
--product-version |
產(chǎn)品版本,規(guī)則與–file-version相同 |
--file-description |
文件描述 |
下面給出幾個命令案例吧文章來源:http://www.zghlxwxcb.cn/news/detail-822734.html
# 使用默認參數(shù)打包file_downloader.py
nuitka --standalone "E:\python_downloader\file_downloader_gui.py"
# 指定使用MinGW6編譯,使用tkinter插件,隱藏控制臺,指定程序圖標(biāo)
nuitka --standalone --mingw64 --enable-plugin=tk-inter --windows-disable-console --windows-icon-from-ico="E:\python_downloader\images\ico\file_downloader.ico" "E:\python_downloader\file_downloader_gui.py"
# 顯示進度、內(nèi)存信息,清理build文件夾
nuitka --standalone --windows-disable-console --show-progress --show-memory --remove-output "E:\python_downloader\file_downloader.py"
# 設(shè)置產(chǎn)品信息
nuitka --standalone --company-name=icy --product-name=file_downloader --file-version=1.0 --product-version=1.0 --file-description="多線程下載器" "E:\python_downloader\file_downloader_gui.py"
# 把需要的都加上吧
nuitka --standalone --mingw64 --enable-plugin=tk-inter --windows-disable-console --show-progress --show-memory --remove-output --windows-icon-from-ico="E:\python_downloader\images\ico\file_downloader.ico" --company-name=icy --product-name=file_downloader --file-version=1.0 --product-version=1.0 --file-description="多線程下載器" "E:\python_downloader\file_downloader_gui.py"
提示:如果編譯得到的exe文件無法打開(閃退),很有可能是缺少某些文件或者模塊,可以在cmd窗口運行exe文件這樣能看到報錯信息文章來源地址http://www.zghlxwxcb.cn/news/detail-822734.html
到了這里,關(guān)于【Python】使用nuitka打包Python程序為EXE可執(zhí)行程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!