### 使用Nuitka打包成exe

官網:https://www.nuitka.net/
#### 1.py安裝 Nuitka 模塊
**cmd輸入pip install Nuitka 指令**
或者
**pip install nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple**
**pip install nuitka --use-pep517 -i https://pypi.tuna.tsinghua.edu.cn/simple**

已經安裝會這樣顯示
zstandard這個模塊會讓文件更小 可以安裝
**pip install zstandard -i https://pypi.tuna.tsinghua.edu.cn/simple**
#### 2.安裝 MinGW64
這個是把py程序編譯成c++語言的好像,要這個才能打包
官網:https://sourceforge.net/projects/mingw-w64/files/
網盤: https://share.weiyun.com/TVJaVneZ
我是下載這個,這個不是安裝包,直接是源碼需要配置path

下載解壓后放到E盤,路徑就是E:\mingw64,這步你隨意

然后配置環境變量,我的電腦,屬性,系統,高級系統設置

然后 新打開cmd窗口輸入 **gcc -v** 指令查看MinGW64 安裝成功沒

到這步就可以使用Nuitka編譯exe了
3.編譯py腳本成exe文件
在有py腳本的文件夾打開cmd窗口。win11 可以鼠標右鍵打開,其他的按shift+鼠標右鍵

然后輸入指令按回車
```
// 打包成文件夾形式
nuitka --standalone --mingw64 main.py
// 打包單個exe形式
nuitka --standalone --mingw64 --onefile main.py
--remove-output參數:刪除臨時緩存
--mingw64 #默認為已經安裝的vs2017去編譯,否則就按指定的比如mingw(官方建議)
```
這樣編譯放到其他電腦不需要安裝環境,會生成這兩文件夾,exe文件在***dist文件夾里面。

.
.**其他的編譯方法還是需要學習,目前就這些簡單的**
.
官網:https://nuitka.net/doc/user-manual.html
其他指令: nuitka --mingw64 ---standalone --output-dir=ayck 你的.py
指令:
```
--version 顯示程序的版本號并退出
-h, --help 顯示此幫助信息并退出
--module 創建一個擴展模塊可執行文件,而不是
程序。默認為關閉。
--standalone 為輸出啟用獨立模式。這使您可以
將創建的二進制文件傳輸到其他機器,而無需
它使用現有的 Python 安裝。這也是
意味著它會變大。它暗示了這些選項:“--
follow-imports”和“--python-flag=no_site”。默認值
關閉。
--onefile 在獨立模式之上,啟用 onefile 模式。這
表示不是文件夾,而是壓縮的可執行文件
創建和使用。默認為關閉。
--python-debug 是否使用調試版本。默認使用你是什么
用于運行 Nuitka,很可能是非調試版本。
--python-flag=FLAG 要使用的 Python 標志。默認是你用來
運行 Nuitka,這會強制執行特定模式。這些是
標準 Python 可執行文件也存在的選項。
當前支持:“-S”(別名“no_site”),
“static_hashes”(不使用散列隨機化),
“no_warnings”(不給出 Python 運行時警告),
“-O”(別名“no_asserts”)、“no_docstrings”(不要使用
文檔字符串)、“-u”(別名“無緩沖”)和“-m”。
默認為空。
--python-for-scons=PATH
如果使用 Python3.3 或 Python3.4,請提供一個路徑
用于 Scons 的 Python 二進制文件。否則 Nuitka 可以
使用運行 Nuitka 的程序或“scons”二進制文件
在 PATH 或 Python 安裝中找到
Windows 注冊表。
--warn-implicit-exceptions
啟用對檢測到的隱式異常的警告
編譯時間。
--warn-unusual-code 為編譯時檢測到的異常代碼啟用警告
時間。
--assume-yes-for-downloads
如有必要,允許 Nuitka 下載外部代碼,
例如依賴 walker,ccache,甚至 gcc
視窗。要禁用,從 nul 設備重定向輸入,
例如“</dev/null”或“<NUL:”。默認為提示。
控制結果中包含的模塊和包:
--include-package=包
包括一個完整的包裹。作為 Python 命名空間,
例如“some_package.sub_package” 然后 Nuitka 將
找到它并包含它以及下面找到的所有模塊
二進制或擴展模塊中的磁盤位置
它創建并使其可供
代碼。為了避免不需要的子包,例如考驗你
例如可以執行此“--nofollow-import-to=*.tests”。
默認為空。
--include-module=模塊
包括一個模塊。作為 Python 命名空間,
例如“some_package.some_module” 然后 Nuitka 將
找到它并將其包含在二進制文件或擴展中
它創建的模塊,并使其可用于導入
代碼。默認為空。
--include-plugin-directory=模塊/包
包括該目錄的內容,無論是否
給定的主程序以可見的形式使用它。
覆蓋所有其他包含選項。可以給
多次。默認為空。
--include-plugin-files=模式
包含到與 PATTERN 匹配的文件中。覆蓋所有
其他跟隨選項。可以多次給予。
默認為空。
--prefer-源代碼
對于已經編譯好的擴展模塊,有
源文件和擴展模塊,通常
使用了擴展模塊,但應該會更好
從可用的源代碼編譯模塊
最棒的表演。如果不需要,有--no-
prefer-source-code 禁用有關它的警告。
默認關閉。
將以下內容控制到導入的模塊中:
--follow-stdlib 也從標準下降到導入的模塊
圖書館。這將增加編譯時間
很多。默認為
```
### 可能出現問題
**問題0**
安裝 ordered-set 模塊

```
pip install ordered-set
```
**問題1**
這個可以用上面下載的MinGW64替換,問題不大。但是這個是新版,建議替換上面那個
```
Is it OK to download and put it in 'C:\Users\Administrator\AppData\Local\Nuitka\Nuitka\Cache\downloads\gcc\x86_64\11.3.0-14.0.3-10.0.0-msvcrt-r3'.
No installer needed, cached, one time question.
Proceed and download? [Yes]/No
```

下載文件:https://github.com/brechtsanders/winlibs_mingw/releases/download/11.3.0-14.0.3-10.0.0-msvcrt-r3/winlibs-x86_64-posix-seh-gcc-11.3.0-llvm-14.0.3-mingw-w64msvcrt-10.0.0-r3.zip
網盤下載:https://share.weiyun.com/kVIjdS00
下載解壓到C:\Users\Administrator\AppData\Local\Nuitka\Nuitka\Cache\downloads\gcc\x86_64\11.3.0-14.0.3-10.0.0-msvcrt-r3文件夾

.
**問題2**
```
Is it OK to download and put it in 'C:\Users\Administrator\AppData\Local\Nuitka\Nuitka\Cache\downloads\ccache\v4.6'.
No installer needed, cached, one time question.
Proceed and download? [Yes]/No
```

下載文件:https://github.com/ccache/ccache/releases/download/v4.6/ccache-4.6-windows-32.zip
網盤下載:https://share.weiyun.com/abQimaGy
下載解壓到 C:\Users\Administrator\AppData\Local\Nuitka\Nuitka\Cache\downloads\ccache\v4.6

.
**問題3**
```
to analyze the dependencies of Python extension modules.
Is it OK to download and put it in 'C:\Users\ws\AppData\Local\Nuitka\Nuitka\Cache\downloads\depends\x86_64'.
No installer needed, cached, one time question.
Proceed and download? [Yes]/No
```

下載鏈接:https://dependencywalker.com/depends22_x64.zip
網盤鏈接:https://share.weiyun.com/uRJzES29
下載解壓到 C:\Users\Administrator\AppData\Local\Nuitka\Nuitka\Cache\downloads\depends\x86_64

- 不要買,這個是廢棄的,占位的
- python技巧
- 使用python發起post請求 get請求
- 獲取txt里面的文本輸出可操作的字典
- 數據寫入txt文件中
- 獲取excel里面的文本輸出可操作的字典
- 獲取網頁指定內容輸出成可操作的字典
- 正則表達式函數應用
- 操作mysql數據庫
- 面向對象編程提取網頁內容
- 初識多線程加密應用
- 隊列
- 多線程爬取糗事百科
- 繼承
- 線程池
- 數據庫連接池
- dt模塊化
- 多線程連接池
- 1
- 2
- python模塊
- python模塊安裝.whl
- 使用Nuitka打包成exe
- Nuitka 技巧
- Nuitka 打包指令
- nuitka常用指令
- python塑料英語
- python開發環境安裝
- 環境安裝
- 其他
- 隧道代理ip php寫入 獲取 定時任務
- 列表
- a1
- a11
- a2
- a3
- sql
- runlog
- 6666ggbase64
- 8888
- linux開放指定端口命令
- 爬蟲百例
- sxt