搜尋此網誌

2017年3月27日 星期一

PyQt5部署與編譯 pyqtdeploy-程式設定

此文章因為內容較長,因此拆成兩篇文章
1. 環境安裝
2. 程式設定
需要做的事情
環境安裝:
1. 安裝pyqtdeploy
2. 下載Qt、Python、sip、PyQt5的source code
3. 建立存放靜態程式碼的資料夾
4. 編譯下載的檔案(由pyqtdeploycli設定)

程式設定:
5. 開始製作 prc 檔案(由pyqtdeploy建立)
6. 製作qmake檔案
7. 最後程式的編譯
在過程中,可能會遇到非常多的錯誤,歡迎發問一起解決。


程式設定

先將目錄切換到需要編譯的資料夾,並且執行pyqtdeploy [Filename].pdy
Filename 替換成你想要取的名稱,不一定要跟主要檔案或專案檔案名稱一樣。
正常情況下,你會看到下面的這個畫面,接著我們介紹部分功能的用途。
其餘缺少的部分可以參考 官方的教學文件
Application Source
Application Source
1. Name: 程式的名稱
2. Main script file: 主程式的檔案名稱
3. Application Package Directory: 勾選所有要使用到的檔案
4. Target Python version:選取使用的Python版本
5. Target PyQt version:選取要編譯的平台
6. Use console(Windows):使否要使用命令列,還可以用來當作Debug模式,查看是否有缺少的modules
7. Application bundle (OS X):輸出成應用程式(副檔名為.app)

qmake
此處所填的文字會全部都加在prc的末端,屬於進階使用者操作

PyQt Modules
PyQt Modules
將所有使用到的PyQt Module 勾選起來,pyqtdeploy會偵測PyQt 是否有其他相依套件,但是最好的方式還是自己勾選,避免發生遺漏的錯誤。

Standard Library
Standard Library
1. Package:勾選所有使用到的標準函式庫,包含import 其他第三方函式庫有import到的函式庫。
2. Use standard Python shared library:勾選之後所有的Standard Library 會全部 到 shared library 裡尋找,減少需要部署的檔案並且避免同檔案的衝突。
需要注意的是不一定所有檔案在Shared library會有。
在 Windows 預設為啟用。
3. Enable optional SSL support: 是否啟用 SSL

Other Packages
Other Packages
1. Packages Directory:添加所有需要用到的第三方函式庫還有本地函式庫的資料夾。
點擊兩下可新增路徑,並且按下 Scan 即可讀取內容。
2. Package Directory Contents:選取 Directory 後,勾選所有有使用到的程式。

Other Extension Modules
Other Extension Modules
添加除了 Python 與 PyQt5 外,其他有用到的C 靜態函式庫。
正常情況下不會用到

Locations
Locations
  1. Interpreter: Python直譯器的位置
  2. Source directory: Python 的原始碼位置,如果照之前教學做的話則直接依照圖片填寫。
    SYSROOT 需要放進 .bash_profile或是其他會export 的地方,或是直接輸入絕對路徑
  3. Target Python Locations: Python靜態檔案的位置。
    可依照圖片上填寫,並修改版本號碼

Build
Build
Build: 進行部屬,勾選 qmake、make 可自動進行編譯,逾時時建議只執行qmake,並且自己執行make來編譯。

做完以上動作後,即可在 build 資料夾或是你設定的資料夾找到執行檔。
最後就大功告成啦!!