PyQtdeploy 用戶指南 目錄 "介紹" "與V1.0+的差異" "作者" "證書" "安裝" 部署過程概覽 PyQt的演示 構建演示 Android IOS Linux MacOS Windos 構建系統根目錄 標準組建插件 創建Sysroot規範文件 PyQt演示的Sysroot 命令行 ...
PyQtdeploy 用戶指南
目錄
- 介紹
- 部署過程概覽
- PyQt的演示
- 構建演示
- Android
- IOS
- Linux
- MacOS
- Windos
- 構建系統根目錄
- 標準組建插件
- 創建Sysroot規範文件
- PyQt演示的Sysroot
- 命令行
- 編寫組建插件
- 創建PyQtdeploy項目
- 定義應用程式源
- 定義qmake配置
- 添加標準庫包
- 添加其他包
- 添加其他擴展模塊
- 定義文件和目錄位置
- 構建應用程式
- 命令行
- Windows和動態載入擴展模塊
- 使用pyrcc的應用程式
- 支持PEP 302可選導入掛鉤
- pdytools模塊
介紹
PyQtdeploy是一個工具,它通過與Qt提供的其他工具一起支持部署使用Python v2.7或Python v3.3或更高版本編寫的PyQt應用程式。它支持部署到桌面平臺(Linux,Windows和macOS)和移動平臺(iOS和Android)。
通常,您將創建Python解釋器庫的靜態編譯版本,包含任何第三方擴展模塊、PyQt和Qt。這樣您的應用程式就沒有外部依賴關係。但是,也可以使用任何這些組件的共用版本來減小應用程式的大小,其代價是增加了部署的複雜性。
pyqtdeploy本身需要PyQt5和Python v3.5或更高版本。
pyqtdeploy通過獲取PyQt應用程式的各個模塊,靜態編譯它們,然後將它們放在Qt資源文件中,該文件由Qt的rcc工具轉換為C ++代碼。Python的標準庫將以相同的方式處理。
pyqtdeploy圍繞Python解釋器庫生成一個簡單的C ++包裝器,它使用Python導入機制以類似於Python支持zip文件中模塊打包的方式訪問嵌入式靜態編譯模塊。
最後,pyqtdeploy生成一個特定於目標的Qt.pro
文件,該文件描述了所有生成的C ++代碼。Qt的qmake工具用於生成一個Makefile,然後生成一個可執行文件。Qt和(或)平臺的特定工具將可執行文件轉換為特定於目標的可部署包。
運行pyqtdeploy時會顯示一個允許指定所有單獨組件的GUI。此信息存儲在 pyqtdeploy項目文件中。
pyqtdeploy(尚未)執行自動發現Python標準庫模塊或第三方模塊以包含在應用程式中。您必須自己指定。但是它確實理解標準庫中的相互依賴性,因此您只需指定應用程式顯式導入的那些包。
可以從命令行(或shell腳本、批處理文件)運行配套程式pyqtdeploy-build,以從項目文件生成C ++代碼。
另一個配套程式pyqtdeploy-sysroot支持創建包含某些組件的特定於目標安裝的系統根目錄(例如Python本身和PyQt)
pyqtdeploy本身不會生成最終的分發包,即由目標平臺的包管理系統處理的包。這項工作留給了目標平臺的標準包裝工具。對於桌面目標,fman Build System是一種替代解決方案,包括對.exe
文件(對於Windows), .dmg
文件(對於macOS).deb
和.rpm
文件(對於Linux)的支持。
註意:從複雜的Python應用程式(特別是使用外部C擴展模塊的應用程式)創建單個可執行文件(特別是沒有外部依賴項的可執行文件)並不是一項簡單的任務。它需要C語言代碼、編譯器、構建系統的經驗以及調試相關問題的能力。
與V1.0+的差異
自v1以來,pyqtdeploy已經發生了許多變化。大多數這些更改都與支持工具相關而不是與GUI。為v1創建的項目文件將由更高版本自動更新。
Android需要Python v3.6或更高版本,已刪除對Python早期版本的支持。
v1建議在組裝可部署應用程式的各個部分時採用目錄結構。這被稱為sysroot目錄。提供了一個不受支持的腳本build-sysroot.py
,它創建了sysroot目錄,並且能夠構建和安裝有限數量的組件(主要是PyQt和相關的包)。它使用pyqtdeploycli程式生成的配置文件來指定這些組件的構建方式,例如,啟用了哪些單獨的模塊和功能。 build-sysroot.py
已替換為完全支持的 pyqtdeploy-sysroot程式。單個組件支持由可配置組件插件實現。通過一個API,您可以為其他組件編寫(並提供)自己的插件。與v1一樣,使用sysroot目錄結構完全是可選的。
該pyqtdeploycli程式已被移除。構建功能已被新的pyqtdeploy-build程式取代。
pyqtdeploy GUI
的Build選項卡已被刪除。GUI的唯一目的是創建和修改項目文件。
v1生成的C ++代碼和qmake .pro
文件試圖在所有目標體繫結構中可移植。 pyqtdeploy-build將生成特定於單個目標體繫結構的代碼,該體繫結構由--target
選項確定,預設為主機體繫結構。
作者
pyqtdeploy版權所有(c)Riverbank Computing Limited。其主頁為https://www.riverbankcomputing.com/software/pyqtdeploy。
可以從*https://www.riverbankcomputing.com/mailman/listinfo/pyqt*上的PyQt郵件列表獲得支持 。
證書
PyQtdeploy是根據BSD許可證發佈。
安裝
PyQtdeploy可以從PyPI中下載並安裝:
pip3 install pyqtdepoly
PyQtdeploy需要安裝PyQt5,它並不是自動安裝的。
返回目錄