新四季網

python打包成exe教程(利用nuitka封裝python為exe)

2023-07-26 19:23:32 1

1.為什麼要用nuitka?

python一直寫代碼一直爽,運行起來可就沒那麼爽了,尤其是對於我這種還需要邊查邊寫的人來說。

沒探究過怎麼樣的代碼最有效,不會用多線程,幾個月前還把pandas每一列轉list用。

於是,更需要nuitka來幫我轉c ,一邊享受著腦迴路不夠帶來的直線邏輯思維寫代碼的快樂,一邊享受著c 的高效運行速度。

2.用前準備:2.1)安裝編譯器MinGW64:

下載網址:

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

2.1.1)在線安裝工具安裝:

按上述標識下載,安裝後設置一下環境。

2.1.1.1)找到安裝目錄,找到bin文件夾,然後複製地址;

2.1.1.2)我的電腦-屬性-高級系統設置-高級-環境變量;

2.1.1.3)系統變量,path中增加上述複製地址。

2.1.2)壓縮包安裝:

而很多時候,在線安裝器會不能下載、下載一半斷聯等,讓人十分苦惱,而且如果你是使用Anaconda的話,可以考慮以下方式:

下載網址:https://winlibs.com/#download-release

我的選擇是64,因為我是64位系統,個人使用。如果想用x86,可以考慮win32的版本。

無論是直接設置還是Anaconda設置,均應先解壓縮。

2.1.2.1)直接設置:

解壓縮之後,將解壓縮之後的文件夾放置於喜歡的位置,下面以我個人的路徑演示:

我將整個文件至D:\ProgramData這個位置,

於是我得到了兩個路徑:

其一:D:\ProgramData\winlibs-x86_64-posix-seh-gcc-11.2.0-llvm-14.0.0-mingw-w64ucrt-9.0.0-r7\mingw64

其二:D:\ProgramData\winlibs-x86_64-posix-seh-gcc-11.2.0-llvm-14.0.0-mingw-w64ucrt-9.0.0-r7\mingw64\bin

可以看到,重點都在mingw64上,下面設置變量:

因為我是使用Anaconda的,因此已經設置好了,上面沒有打馬賽克的部分,請按照我下方描述設置:

a)系統變量-新建-名稱自定,我設置的是MinGW 64x,輸入其一的地址:

其一:D:\ProgramData\winlibs-x86_64-posix-seh-gcc-11.2.0-llvm-14.0.0-mingw-w64ucrt-9.0.0-r7\mingw64

b)系統變量-雙擊Path-彈出界面選擇新建-輸入其二地址:

其二:D:\ProgramData\winlibs-x86_64-posix-seh-gcc-11.2.0-llvm-14.0.0-mingw-w64ucrt-9.0.0-r7\mingw64\bin

然後確定即可,退回到桌面,win r,輸入CMD,打開命令提示符窗口,輸入命令gcc -v,檢查是否正確安裝配置。

因為我已經設置好,此處不做展示,gcc -v在Anaconda設置後一併展示。

2.1.2.2)Anaconda設置:

以我個人文件的路徑,請先找到相對應的位置,

D:\ProgramData\Anaconda3\Library\mingw-w64

將x86_64-posix-sec.7z解壓後文件內的mingw-w64文件夾所有內容整個複製粘貼進上述路徑下,有重名文件就選擇覆蓋。

此時同樣可以得到兩個地址:

其一:D:\ProgramData\Anaconda3\Library\mingw-w64

其二:D:\ProgramData\Anaconda3\Library\mingw-w64\bin

按照"2.1.2.1)常規設置"中所述進行設置,gcc-v命令結果展示:

2.2)安裝nuikta:

2.2.1)cmd執行命令pip install nuitka。

2.2.2)Anaconda中安裝nuitka。

最後右下方點擊應用即可自動完成安裝。

3.打包:

說在前面,要保證系統中有且僅有一版python。

3.1)cmd打包:

老生常談,cd到需要的目錄中去。

下面幾個示例及說明:

python -m nuitka

或者

nuitka

開頭總是如此(python2.7及以前)

或者

開頭總是如此(python3)

--standalone

注意開頭有空格,獨立文件

--windows-disable-console

注意開頭有空格,不顯示CMD控制臺

--plugin-enable=pylint-warnings

注意開頭有空格,報警信息

--plugin-enable=numpy --plugin-enable=tk-inter

注意開頭有空格,需要加載的包

--show-memory

注意開頭有空格,顯示內存佔用

--output-dir=Rc text.py

注意開頭有空格,結尾總是如此,導出的文件夾 py文件

python -m nuitka

或者

nuitka

--onefile

打包成單exe

--windows-onefile-tempdir-spec=

單個exe臨時文件生成目錄

--windows-disable-console

--plugin-enable=pylint-warnings

--plugin-enable=tk-inter

--include-data-file=./x.ico=./x.py

.iconbitmap('x.ico'),打包資源文件。

--show-memory

--follow-imports

打包所有imports

--include-package=requests

打包requests

--windows-uac-admin

允許申請使用管理員模式

--windows-icon-from-ico=

圖標,需要絕對路徑及文件.ico

--windows-company-name=

作者信息

--windows-file-version=

軟體版本,規則為0.0.0.0

--windows-file-description=

軟體描述

--output-dir=Amendmentbata Amendment.py

實例:nuitka --onefile --windows-disable-console --include-data-file=./clocklogo.ico=./clock.py --plugin-enable=pylint-warnings --plugin-enable=tk-inter --follow-imports --windows-uac-admin --windows-company-name=wUw_wuwofcproject.com --windows-file-description=©wUw_wuwofcproject.com --windows-file-version=1.0.0.0 --windows-icon-from-ico=W:\python\NUITKA\clocklogo.ico --output-dir=clock2 clock.py

3.2)pychrom使用Anaconda搭建環境的打包:3.2.1)英文界面:

3.2.2)中文界面:

命令同上,但是不需要cd到程序所在目錄了。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了