在编译 pyqt5.13.2 时遇到的问题及解决办法
Tofloor
poster avatar
摇摆哥
deepin
2019-12-17 03:20
Author
pyqt5 目前更新到了 5.13.2 版本, 并且引入了 sip5 编译系统, sip5 与 sip4 区别挺大的, 所以 sip5 把我给引入了一个不小的坑, 花了差不多3天的时间才从 该坑爬出来。

先说说, 导致有这个坑的原因是: sip5 安装 pyqt5-sip 时的默认安装路劲为 **/usr/local/lib/python3.5/dist-packages**, 然而 pyqt5 的默认安装路径为 **/usr/lib/python3/dist-packages/** 。 这就是坑,**pyqt5-sip , pyqt5 , pyqtwebengine** 必须要安装在同一个目录下。 在下面的安装过程中我选择将其安装在 **/usr/local/lib/python3.5/dist-packages** 中。 下面为具体安装过程。


  1. sudo pip3 install sip
  2. pip3 show sip # 查看 sip 是否是 5.0 以上版本
  3. tar xzf pyqt5.**.tar.gz -C .
  4. cd PyQt5**

  5. # 生成pyqt5-sip 包
  6. sip-build --sdist PyQt5.sip

  7. # 安装 pyqt5-sip 包
  8. sudo pip3 install PyQt5.sip

  9. # 确认 pyqt5-sip 安装目录是不是我们希望的目录
  10. pip3 show pyqt5-sip

  11. # 构建 pyqt5
  12. sudo sip-build --no-make --qmake /opt/Qt5/bin/qmake --target-dir /usr/local/lib/python3.5/dist-packages/ --build-dir build
  13. cd build
  14. sudo make -j8
  15. sudo make install
  16. cd ../../

  17. # 构建安装 pyqtwebengine
  18. tar xzf pyqt5webengine.*.tar.gz -C .
  19. cd pyqt5webengine**
  20. sudo sip-build --no-make --qmake /opt/Qt5/bin/qmake --target-dir /usr/local/lib/python3.5/dist-packages/ --build-dir build
  21. cd build
  22. sudo make -j8
  23. sudo make install

  24. #这样就安装结束了, 至于验证是否成功, 网上有很多教程, 可以看看。
Copy the Code


因为我要使用 qutebrowser , 所以在安装 pyqt5 的同时, 也安装了 pyqtwebengine , 希望后来要自己动手编译 pyqt5 的同学少掉坑。

在用 qt 5.13.2 与 pyqt5 , 使用 qutebrowser 时, 会有提示 **plugin couldn't load**, 那是因为 flash 库没能正确的加载。 导致这个问题是因为在 qt 5.13.2 中引入了新的接口权限限制, 通过尝试, 可以在 qutebrowser 的 qt-arg 中加入 **enbale--pepper-testing** 参数。 在 qutebrowser 中运行下面命令。


  1. set qt-arg ["enable--pepper-testing",]
Copy the Code


Reply Favorite View the author
All Replies

No replies yet