步驟:
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"