成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python的打包神器—Nuitka!

開發 開發工具 后端
這次也是由于項目需要,要將python的代碼轉成exe的程序,在找了許久后,發現了2個都能對python項目打包的工具——pyintaller和nuitka。

一. pyinstaller和Nuitka使用感受

1.1 使用需求

這次也是由于項目需要,要將python的代碼轉成exe的程序,在找了許久后,發現了2個都能對python項目打包的工具——pyintaller和nuitka。

這2個工具同時都能滿足項目的需要:

  • 隱藏源碼。這里的pyinstaller是通過設置key來對源碼進行加密的;而nuitka則是將python源碼轉成C++(這里得到的是二進制的pyd文件,防止了反編譯),然后再編譯成可執行文件。
  • 方便移植。用戶使用方便,不用再安裝什么python啊,第三方包之類的。

1.2 使用感受

2個工具使用后的最大的感受就是:

  • pyinstaller體驗很差!
  • 一個深度學習的項目最后轉成的exe竟然有近3個G的大小(pyinstaller是將整個運行環境進行打包),對,你沒聽錯,一個EXE有3個G!
  • 打包超級慢,啟動超級慢。
  • nuitka真香!
  • 同一個項目,生成的exe只有7M!

  • 打包超級快(1min以內),啟動超級快。

二. Nuitka的安裝及使用

2.1 nuitka的安裝

  • 直接利用pip即可安裝:pip install Nuitka
  • 下載vs2019(MSVS)或者MinGW64,反正都是C++的編譯器,隨便下。

2.2 使用過程

對于第三方依賴包較多的項目(比如需要import torch,tensorflow,cv2,numpy,pandas,geopy等等)而言,這里最好打包的方式是只將屬于自己的代碼轉成C++,不管這些大型的第三方包!

以下是我demo的一個目錄結構(這里使用了pytq5框架寫的界面):

├─utils//源碼1文件夾├─src//源碼2文件夾├─logo.ico//demo的圖標└─demo.py//main文件

使用以下命令(調試)直接生成exe文件:

nuitka --standalone --show-memory --show-progress --nofollow-imports --plugin-enable=qt-plugins --follow-import-to=utils,src --output-dir=out --windows-icon-from-ico=./logo.ico demo.py

這里簡單介紹下我上面的nuitka的命令:

  • --standalone:方便移植到其他機器,不用再安裝python
  • --show-memory --show-progress:展示整個安裝的進度過程
  • --nofollow-imports:不編譯代碼中所有的import,比如keras,numpy之類的。
  • --plugin-enable=qt-plugins:我這里用到pyqt5來做界面的,這里nuitka有其對應的插件。
  • --follow-import-to=utils,src:需要編譯成C++代碼的指定的2個包含源碼的文件夾,這里用,來進行分隔。
  • --output-dir=out:指定輸出的結果路徑為out。
  • --windows-icon-from-ico=./logo.ico:指定生成的exe的圖標為logo.ico這個圖標,這里推薦一個將圖片轉成ico格式文件的網站(比特蟲)。
  • --windows-disable-console:運行exe取消彈框。這里沒有放上去是因為我們還需要調試,可能哪里還有問題之類的。

經過1min的編譯之后,你就能在你的目錄下看到:

├─utils//源碼1文件夾├─src//源碼2文件夾├─out//生成的exe文件夾    ├─demo.build 
└─demo.dist └─demo.exe//生成的exe文件├─logo.ico//demo的圖標└─demo.py//main文件

當然這里你會發現真正運行exe的時候,會報錯:??no module named torch,cv2,tensorflow??等等這些沒有轉成C++的第三方包。

這里需要找到這些包(我的是在software\python3.7\Lib\site-packages下)復制(比如numpy,cv2這個文件夾)到??demo.dist??路徑下。

至此,exe能完美運行啦!

責任編輯:龐桂玉 來源: 菜鳥學Python
相關推薦

2021-10-08 09:27:11

Python圖形化工具

2023-01-18 08:00:00

2015-11-16 13:36:35

Python編譯器Nuitka

2022-08-24 13:25:20

微軟Python小白神器

2024-01-22 09:00:00

PythonPyenv開發

2021-03-07 16:51:10

軟件InnoSetupWindows

2017-05-27 20:00:30

Python爬蟲神器PyQuery

2024-04-18 09:51:36

Python數據開發

2024-07-30 08:11:16

2021-11-17 21:58:02

Python編程語言

2022-10-09 10:11:30

Python爬蟲神器

2024-02-23 15:51:40

PythonBlaze延遲計算

2024-07-15 15:05:20

Python數據驅動

2022-06-23 09:17:07

PythonGUIPyAutoGUI

2023-11-12 22:51:14

2024-05-15 09:05:43

Python文檔處理工具自動化文檔生成

2015-07-23 11:59:27

JavascriptPromise

2019-07-01 08:46:37

AI 數據人工智能

2021-08-19 09:00:12

監控文件Python

2024-05-06 13:15:45

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美色偷拍 | 国产成人一区二区三区 | 日韩一级不卡 | 日韩三| 免费午夜视频在线观看 | 一级a性色生活片久久毛片 午夜精品在线观看 | 日本免费一区二区三区视频 | 男女羞羞免费视频 | 欧美日本一区二区 | 亚洲日本中文字幕在线 | 久久99国产精品 | 九九久久久 | 午夜小电影| 中文字幕国产视频 | 91精品国产91久久久久久吃药 | 欧美精品在线免费 | 97国产在线视频 | 怡红院免费的全部视频 | 国色天香成人网 | 日韩在线精品 | 国产精品亚洲片在线播放 | 国产精品精品 | 久久综合久色欧美综合狠狠 | 国产精品日产欧美久久久久 | 日本福利视频免费观看 | 91www在线观看| 综合久久久久久久 | 作爱视频免费看 | 成人在线观看免费 | 国精久久 | 黄色在线免费观看视频 | 视频一区在线 | 欧美专区在线 | 国产免费让你躁在线视频 | 日韩在线视频一区 | 国产一级在线 | 在线成人 | 日本三级线观看 视频 | 一区二区视频 | 韩日在线视频 | 亚洲国产在 |