在 Ubuntu 14.04 中为 Python3.4 构建 PyQt5 的问题是由 qprinter.h 引起的,然后 pyuic5 错误
Posted
技术标签:
【中文标题】在 Ubuntu 14.04 中为 Python3.4 构建 PyQt5 的问题是由 qprinter.h 引起的,然后 pyuic5 错误【英文标题】:Issues building PyQt5 for Python3.4 in Ubuntu 14.04 caused by qprinter.h not found then pyuic5 error 【发布时间】:2014-12-21 01:04:00 【问题描述】:在安装了最新的 SIP 和最新的 Qt5 之后,我尝试为 python 3.4 构建最新的 PyQt5。
我像这样启动 pyqt5 配置:
python3 configure.py --qmake=/opt/Qt/5.3/gcc_64/bin/qmake
然后 make 和 sudo make install。 在 sudo make install 我得到这个错误:
cd QtWebKitWidgets/ && ( test -e Makefile || /opt/Qt/5.3/gcc_64/bin/qmake /home/me/Downloads/PyQt-gpl-5.3.2/QtWebKitWidgets/QtWebKitWidgets.pro -o Makefile ) && make -f Makefile install
make[1]: Entering directory `/home/me/Downloads/PyQt-gpl-5.3.2/QtWebKitWidgets'
g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/Qt/5.3/gcc_64/mkspecs/linux-g++ -I. -I. -I/usr/include/python3.4m -I/opt/Qt/5.3/gcc_64/include -I/opt/Qt/5.3/gcc_64/include/QtWebKitWidgets -I/opt/Qt/5.3/gcc_64/include/QtWebKit -I/opt/Qt/5.3/gcc_64/include/QtWidgets -I/opt/Qt/5.3/gcc_64/include/QtNetwork -I/opt/Qt/5.3/gcc_64/include/QtGui -I/opt/Qt/5.3/gcc_64/include/QtCore -I. -o sipQtWebKitWidgetsQWebView.o sipQtWebKitWidgetsQWebView.cpp
sip/QtPrintSupport/qprinter.sip:28:22: fatal error: qprinter.h: No such file or directory
compilation terminated.
make[1]: *** [sipQtWebKitWidgetsQWebView.o] Error 1
make[1]: Leaving directory `/home/me/Downloads/PyQt-gpl-5.3.2/QtWebKitWidgets'
make: *** [sub-QtWebKitWidgets-install_subtargets-ordered] Error 2
我可以导入 QtCore、QtGui 等,但不能像 QtWidgets 一样在 QtWebKitWidgetsQWebView 之后按字母顺序导入模块...
编辑: 第一个补丁
$ sudo apt-get install qtbase5-dev
然后在 make 和 sudo make install 我得到这个错误:
install -m 755 -p /home/me/Downloads/PyQt-gpl-5.3.2/pyuic5 /usr/bin/
strip /usr/bin/pyuic5
strip:/usr/bin/pyuic5: File format not recognized
make: [install_pyuic5] Error 1 (ignored)
【问题讨论】:
【参考方案1】:qprinter.h
在 Qt 5.3 的 QtPrintSupport 模块中,但包含目录不在编译器命令中。修改configure.py
使得
'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport']),
而不是
'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets']),
解决构建失败问题。
【讨论】:
以上是关于在 Ubuntu 14.04 中为 Python3.4 构建 PyQt5 的问题是由 qprinter.h 引起的,然后 pyuic5 错误的主要内容,如果未能解决你的问题,请参考以下文章
命令行无法在 Ubuntu 14.04 中为 ROS 创建 catkin 工作区
ubuntu14.04安装python3.6和pip9.0.1