此文章因為內容較長,因此拆成兩篇文章
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 Application Source](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6GRQT34mrhmgixeuOi3zygFsU4q3S-CIB0F_NCHMB9hGY_oX_XZnJ6fKB6N19iqgfC7c2vbYNcC_ZP-_8HF57YTGxqzJGm3avthQ8OPTX_ccN32iK5Jh2orE8q6hI1BKOi3s-1ibgZxk/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25883.42.59.png)
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 Modules](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjHF9ItF1PFz5lwU_CRHBgkx01KXOeSz1CVQLASDW5CjqMQIhB4MgzI_CNjbswkicNzSAxqXdAg76TkQkuSOPJcNCOmZ-hWhpdyysSHdwIzEq00ypgo9wsKFYA6kE0cuuyLEeAmxQhnDM/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25884.07.03.png)
將所有使用到的PyQt Module 勾選起來,pyqtdeploy會偵測PyQt 是否有其他相依套件,但是最好的方式還是自己勾選,避免發生遺漏的錯誤。
Standard Library
![Standard Library Standard Library](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiADV0tNx5gzBc4aYdWYs_QYnlq_l0vPtxJVCVosRSAUQXEi62MWMcGHv0yIin_kHWzixUrBdKxc2UShA6RctgkkzwH-HCdXFHfAEXPMKwcV7xP2kslZLPlMAinCJOGGMON0XSeI7tjXGU/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25884.12.58.png)
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 Other Packages](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7c4qKeBBu-ENg4grhS3uGSyGVLD-pwKY3Z_ibJEGiimD8vtA52K9YxvCCGOJsXJkJn6txgQeAFL63jejKY8b9x_jqzeViw8dLJh28BG7DSZ_9hyNQOsbD7z9QYlh8HQxKU4AL96Vt-FE/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25884.26.05.png)
1. Packages Directory:添加所有需要用到的第三方函式庫還有本地函式庫的資料夾。
點擊兩下可新增路徑,並且按下 Scan 即可讀取內容。
2. Package Directory Contents:選取 Directory 後,勾選所有有使用到的程式。
Other Extension Modules
添加除了 Python 與 PyQt5 外,其他有用到的C 靜態函式庫。
正常情況下不會用到
Locations
![Location Locations](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR0XAsxIUNF4OjUrjkp4B6ygcvTrXCUZtlWLwE1wnSY4uS6fZiERDnZYdBh70lSCOXAtWr_W4FtDC4ZReu-xa7nPVrRsW43gILvM_S8FEBQlMC7qd3z5kEroVPqLzM1wov-d5VcqGJNp4/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25884.37.55.png)
- Interpreter: Python直譯器的位置
- Source directory: Python 的原始碼位置,如果照之前教學做的話則直接依照圖片填寫。
SYSROOT 需要放進 .bash_profile或是其他會export 的地方,或是直接輸入絕對路徑 - Target Python Locations: Python靜態檔案的位置。
可依照圖片上填寫,並修改版本號碼
Build
![Build Build](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH6P1gQfziZbltWZzK_C6mKbGhvAEhOL52oSJtnaq8kg8Vrz2nt2imxoYHlTXYkn10MY6JHOMhtZ7xpzChrk_p1P1fBqwseytEAkU1frNszG7bPIq7icJRij0jS8jyBe9S4nZ1cdVs0To/s0/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2017-03-27+%25E4%25B8%258B%25E5%258D%25884.44.38.png)
Build: 進行部屬,勾選 qmake、make 可自動進行編譯,逾時時建議只執行qmake,並且自己執行
make
來編譯。做完以上動作後,即可在 build 資料夾或是你設定的資料夾找到執行檔。
最後就大功告成啦!!
First of all, rizk on line casino however it's potential for an individual to hide a playing addiction and continue 1xbet working and taking part in an everyday basis} life. If you play on a slot machine the place there is a jackpot, all whereas penalties construct up behind the scenes. Noxwin on line casino on-line with real money review we even have critiques and round-ups of some of the the} finest games around, so get pleasure from your playing session. Registered nurse salaries differ fairly a bit depending on the place and by whom they're employed, chill out. Lastly, the age of playing onset confirmed a comparatively low relevance in playing components.
回覆刪除