在國產操作系統安裝 PyQt5
零、寫作背景
-
我為什么使用 QT
- Qt 是一個開源且跨平臺的 GUI 圖形庫,dropbox 的客戶端使用了它
-
為什么用 Python 而不是 C++
- python 語法簡單,且不用擔心內存越界
- 我的 C++ 不甚熟練
如果你要適配的系統自帶 python 版本老 <= 3.6,即便你源碼安裝了新版本的python,有時無法通過 pip 安裝到 pyqt5。就需要源碼安裝 pyqt5,經過一番摸索總結了如下方法,記錄在此以備之后查閱。
一、編譯并安裝 python3.6.4
# 安裝依賴 https://bugs.python.org/issue31652
yum install -y libffi-devel zlib-devel bzip2-devel libcap-devel openssl-devel libaio
mkdir -p /usr/local/python3/lib
# --enable-shared 為了 pyinstaller 打包時順利找到系統依賴
# https://stackoverflow.com/questions/43333207/python-error-while-loading-shared-libraries-libpython3-4m-so-1-0-cannot-open
./configure --prefix=/usr/local/python3 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/python3/lib"
make
make install
# 將 python 3.6 包含進環境變量
# 執行完該命令后,將其追加到 ~/.bashrc 文件中
export PATH=/usr/local/python3/bin:$PATH
二、安裝 qt5 開發環境
yum install -y qt5-qtbase-devel
pip install sip==5
三、編譯并安裝 PyQt5
# 下載鏈接可能會失效,但始終可以從這里獲取到可用的 https://pypi.org/project/PyQt5/#files
wget https://files.pythonhosted.org/packages/7c/5b/e760ec4f868cb77cee45b4554bf15d3fe6972176e89c4e3faac941213694/PyQt5-5.14.0.tar.gz
tar xzvf PyQt5-5.14.0.tar.gz && cd PyQt5-5.14.0
python3 configure.py --qmake /usr/lib64/qt5/bin/qmake --sip /usr/local/python3/bin/sip5
make && make install
四、總結
盡管本教程很短,但一開始我并沒打算以源碼安裝的形式進行(多次因依賴無法滿足的經驗讓我對源碼安裝產生了恐懼)。
正如《聞香識女人》中那場演講所說:“如今我走到人生的十字路口,我一向知道哪條路是正確的,這毋庸置疑。我知道,但我從不走,為什么?因為太他媽苦了。”
- 嘗試通過
pip3 install PyQt5的出錯代碼找解決方案,但并沒有找到恰當的解決之道。 - 嘗試
PyQt5的二進制安裝包,無果 - 嘗試使用
python 3.6的venv模塊創建一個虛擬的環境安裝 PyQt5, 失敗 - 不得已,下載了
PyQt5的源碼包,構建過程并不順利,好在每一步的錯誤原因都給的很具體,基本上都通過google找到了解決之法- 漫長的
configuremakeandmake install之后 (大約20分鐘)PyQt5成功安裝了
- 漫長的

浙公網安備 33010602011771號