導航:首頁 > 源碼編譯 > python編譯打包

python編譯打包

發布時間:2023-06-17 15:20:06

1. python程序加密打包

步驟:
1、使用此文程序編譯激喚首python源程序為pyd
鏈接: https://www.jianshu.com/p/4465cf9283b6
2、編寫入口py文件,調用pyd模塊
注意點:
1、由於pyinstaller不會導入pyd程序依賴包,所以需要將pyd程序依賴包在入口py文件中導入一次,避免打包exe時pyd無法使用
2、打包exe後,路徑有所變化,pyd中路徑需使用絕對明數路徑
3、pyd文件不要寫入口調用,if main等,在入口py文件中導包及調用相關函數

優點:脫離python環境,包依賴
缺點:文件較大
步驟:
1、將入口py文件打包為exe可執行程序,會自動導入pyd文件並進行封裝
注意點:
1、打包exe後,cmd下運行程序,看是否有錯誤輸出,按提示解決相應鏈岩問題即可

2. 使用PyInstaller打包Python程序

PyInstaller是一個用來將Python程序打包成獨立可執行軟體的工具,支持 Windows、linux 和 Mac OS X。生成的可執行軟體在沒有Python的環境中可以直接運行,方便軟體分發,進一步降低使用成本,提升使用效率。

下面演示如何使用 PyInstaller 將程序打包成Windows下的exe軟體。

使用pip的方式進行安裝,這樣可以自動安裝其他依賴庫。

如果pip還未安裝,請參考我的另一篇文章《 Python pip包管理工具 》

在cmd命令行控制台或者VS Code內置的終端輸入命令行生成應用,首先將當前路徑切換到Python程序所在的路徑(如下示例的SubOcr.py文件在python文件夾下的SubOcr文件夾內),然後輸入生成應用的命令。

命令執行成功後在 I:workpythonSubOcrdist 文件夾下生成了SubOcr文件夾,裡麵包含了SubOcr.exe文件。整個SubOcr文件夾就是一個綠色軟體,隨便移動到任何位置都可運行。

實際上在用pyinstaller命令時會在Python程序的所在路徑生成一個後綴為spec的同名文件,然後根據此文件的配置生成應用,這就是PyInstaller的原理。這樣做的好處是spec保存了生成應用的配置,每次重新生成應用時可以省略指定參數,尤其是指定了其他的資源、程序庫時。我們可以通過以下命令先生成spec文件。

pyi-makespec的命令參數跟pyinstaller的相同,在生成spec文件後可以對其部分選項進行編輯(可以用VS Code或自帶的記事本編輯),添加更多參數,然後再用pyinstaller命令生成應用。

spec文件的主要選項:

上面示例的SubOcr用到了opencc和opencv-python,其中opencc下的數據文件和opencv-python下的dll文件在生成應用時不會自動導入(缺少這些文件應用無法正常使用),因此需要在spec文件中指定路徑。對spec文件的修改如下:

以上便是PyInstaller打包Python程序的全過程,如果在此過程中遇到問題,可以在評論區留言,定當知無不言,言無不盡。

3. python打包最快的模塊

python打包逗州最快的模塊有PyInstaller,Nuitka。
1、PyInstaller:PyInstaller是一個功能強大的打包工具,能夠輕松地中喊將Python腳本打包成獨立的可執行文件。它支持多平台交叉打包,能夠處理各種賣指野復雜情況,打包速度相較於其他打包工具很快。
2、Nuitka:Nuitka是一個基於C++編寫的Python編譯器,可以將Python代碼轉換為高性能的本地機器碼,並將其打包為真正的可執行文件。與其他打包工具不同,它將Python代碼直接編譯成機器碼,從而實現更快的執行速度和更小的文件大小。因此,打包速度也會比其他打包工具略快。

4. python可視化編程、打包exe(pycharm)

python3安裝指令: pip install PyQt5
python2安裝指令: pip install python-qt5

添加擴展插件:File-->setting-->Tools-->External Tools,如下圖:

網上教程有很多,有不一樣的,但是宗旨都是用把 .ui 文件用指令編核扮譯成 .py 文件。不一樣的無非就是路徑的寫法,指令的寫法不同。
比如方法二:

不熟悉python的坑:

這個命令是把資源文件.qrc轉換為.py文件。命令:pyrcc5 -o xxx.qrc xxx.py

Arguments這邊我就不誤導大家了,詳細的可以網上自行搜索pyinstaller。這里簡單說下我這裡面的意思,因為我的工程入口文件是Main.py。-F(大寫)就是打包成可執行文件exe -w 程序運行時不顯示命令改凱灶行窗口 -i 是給你的可執行程序加個圖標。 tool.icon是我工程這個圖標的資源名。這個資源位置和入口文件同級別。

在打包過程中可能遇到孫亂的 ,但願你們沒遇到:

5. 將python打包成exe

return 應該放在一個函數裡面的,

將python打包成exe的程序有很多,比如py2exe、PyInstaller等等,但是到目前為止,它們對python3.1支持的都不好,所以這里我要介紹一下cx_freeze 4.2.2,它還能支持跨平台,可以在windows和linux運行。
cx_freeze的下載網址為 http://sourceforge.net/projects/cx-freeze/files/ ,要根據已安裝的python版本進行選擇。比如我使用的是python3.1,所以就要下載cx_Freeze-4.2.2.win32-py3.1.msi這個文件。運行這個安裝包後,相關程序就會被拷貝到python的目錄下。主要在兩個地方,一個是C:/Python31/Scripts,另一個是C:/Python31/Lib/site-packages/cx_Freeze

在以前版本的cx_Freeze中,是通過FreezePython.py這個腳本將py轉換為exe,而在4.2.2這個版本中,FreezePython.py已經不見了,主要的工作交給了C:/Python31/Scripts下的cxfreeze.bat來完成。
使用cx_Freeze完成python打包exe主要有兩種方法:
第一種,直接運行cxfreeze.bat通過:
先進入cmd命令行,進入C:/Python31/Scripts目錄,然後運行cxfreeze.bat -h 就可以看到它的使用說明了。我們可以用cx_freeze自己的sample做個試驗。
進入到c:/python31/scripts/下,運行
cxfreeze C:/Python31/Lib/site-packages/cx_Freeze/samples/PyQt4/PyQt4app.py --install-dir=d:/123
pytqt4app.py就會被打包成exe,並且它所用到的庫文件,也被一並考到了d:/123目錄下。

6. 如何將一整個python工程打包

打包成可執行文件的話,py2exe是不行的,看名字就知道,那是打包python2的,它不支持python3,用pyinstaller可以打包python3,教程也很簡單,搜下一行命令就能打包了。

7. Python3.5如何打包編譯

python3.5怎麼打包編譯

問題:用Python開發的小工具有時需要編譯打包為Windows(*.exe)、Mac等操作系統下的可執行性文件以供非程序員使用。

解決方案:

一、py2exe

目前只支持到Python3.4,暫不支持Python3.5

相關推薦:《Python視頻教程》

二、PyInstaller

安裝:

直接安裝:

pip install pyinstaller

下載源碼包,然後進入包目錄,用命令安裝

python setup.py install

使用:

進入cmd窗口

進入需要打包的程序目錄

輸入:pyinstaller + 需要打包的程序(*.py)名稱

發布命令:

-w指令

直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽

-F指令

注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾

Error:failed to create process

編譯時,出現「failed to create process」錯誤。

解決方法是打開pyinstaller-script.py,把第一行的路徑用引號括起來,最終是下面這個樣子就對了

#!"c:program filespython35-32python.exe"

閱讀全文

與python編譯打包相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163