gpt4 book ai didi

python-3.x - PyQt5 - 导入 QtWidgets QtGui 时出错

转载 作者:行者123 更新时间:2023-12-02 04:33:08 25 4
gpt4 key购买 nike

我正在运行 Ubuntu 13.10 (python-3.3.2+) 。我已经从官方网站的源安装了 Qt5.2.1 (linux 安装程序)、SIP 4.15.5 和 PyQt5。

PyQt5 构建:

Qt qmake 位于此处

jeby6372@mercure:~$ ls /opt/Qt/5.2.1/gcc_64/bin
assistant qdbus qml1plugindump qmlviewer
designer qdbuscpp2xml qml2puppet qtpaths
lconvert qdbusviewer qmlbundle rcc
linguist qdbusxml2cpp qmlimportscanner syncqt.pl
lrelease qdoc qmlmin uic
lupdate qhelpconverter qmlplugindump xmlpatterns
moc qhelpgenerator qmlprofiler xmlpatternsvalidator
pixeltool qmake qmlscene
qcollectiongenerator qml qmltestrunner

我的Python路径

jeby6372@mercure:~$ echo $PYTHONPATH
:/usr/lib/python3.3/site-packages

Qt5 库(出于显示目的缩短列表):

jeby6372@mercure:/opt/Qt/5.2.1/gcc_64/lib$ ls
cmake libQt5Positioning.so.5
libicudata.so.51 libQt5Positioning.so.5.2
libicudata.so.51.1 libQt5Positioning.so.5.2.1
libqgsttools_p.so libQt5PrintSupport.so.5.2.1
libqgsttools_p.so.1 libQt5QmlDevTools.a
libQt5CLucene.so.5.2 libQt5QuickParticles.so.5.2.1
libQt5Concurrent.so.5.2 libQt5QuickTest.la
libQt5Concurrent.so.5.2.1 libQt5QuickTest.prl
libQt5Core.so.5.2.1 libQt5Script.prl
libQt5DBus.la libQt5Script.so
.......
libQt5Multimedia.so libQt5WebKit.prl
libQt5Nfc.la libQt5Widgets.so.5.2.1
libQt5Nfc.prl libQt5X11Extras.la
libQt5Nfc.so libQt5X11Extras.prl
libQt5Nfc.so.5 libQt5X11Extras.so
libQt5Nfc.so.5.2 libQt5X11Extras.so.5
libQt5OpenGLExtensions.a libQt5X11Extras.so.5.2.1
libQt5OpenGLExtensions.la libQt5Xml.la
libQt5OpenGL.so libQt5XmlPatterns.so.5
libQt5OpenGL.so.5 libQt5XmlPatterns.so.5.2
libQt5OpenGL.so.5.2.1 libQt5Xml.prl
libQt5Platfor
libQt5PlatformSupport.prl libQt5Xml.so.5.2
libQt5Positioning.so

我在从官方 PyQt-gpl-5.2.1.tar.gz tarball 中提取的源目录中运行了以下命令:

python3 configure.py --qmake /opt/Qt/5.2.1/gcc_64/bin/qmake # My PyQt5 location
sudo make
sudo make install

问题:

我只能导入一组受限的模块

>>> from PyQt5.QtCore import *
>>> from PyQt5.QtNetwork import *
>>> from PyQt5.QtXmlPatterns import *
>>> from PyQt5.Qt import *
>>> from PyQt5.QtGui import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'PyQt5.QtGui'
>>> from PyQt5.QtWidgets import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'PyQt5.QtWidgets'

我可以导入 QtCore、QtNetwork ...,如/usr/local/python3.3/sites-packages/PyQt5 中列出的:

jeby6372@mercure:/usr/lib/python3.3/site-packages/PyQt5$ ls
__init__.py QtCore.so QtDBus.so QtNetwork.so Qt.so QtXmlPatterns.so uic

但我无法导入 QtWidgets、QtGui .. 等等。

看来PyQt5库并没有全部复制到这里。

post中描述了相同的问题...但不幸的是,RiverBank 团队没有回复:

有什么想法吗?

最佳答案

缺少包裹

按照 mata 的建议安装缺少的 libgl1-mesa-dev 依赖项。它是 OpenGL API 的免费实现。

构建

sudo apt-get install libgl1-mesa-dev

创建或清理您的 PyQt5 编译环境并按照常规程序进行构建。

替代方案

如果此修复无法解决您的问题,请安装 libgl1-mesa-glx 软件包(GLX 运行时)和 libgl1-mesa-dri(绘图加速器)(如果它们也丢失),然后继续构建 说明。

希望这有帮助。

关于python-3.x - PyQt5 - 导入 QtWidgets QtGui 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22598333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com