PyQtdeploy-V2.4 User Guide 中文 (一)

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,它並不是自動安裝的。

返回目錄

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *