python - 在Linux上安装PyQt5 5.14.1

标签 python qt pyqt pyqt5 pyqtchart

pip3 install PyQt5
Collecting PyQt5
  Using cached https://files.pythonhosted.org/packages/3a/fb/eb51731f2dc7c22d8e1a63ba88fb702727b324c6352183a32f27f73b8116/PyQt5-5.14.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3.6/tokenize.py", line 452, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-b2zw891b/PyQt5/setup.py'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-b2zw891b/PyQt5/

然后我从https://www.riverbankcomputing.com/software/pyqt/download5下载了zip文件夹并运行:
python3 configure.py --qmake /home/oo/Qt/5.14.0/gcc_64/bin/qmake
make
sudo make install

成功的
>>> import PyQt5
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.sip'
>>> 

所以我安装了
pip3 install PyQt5.sip
pip3 install sip

成功的

但仍然为No module named 'PyQt5.sip'收到相同的错误import PyQt5.QtCore
也尝试了PyQtChart但仍然出错
pip3 install PyQtChart
Collecting PyQtChart
  Using cached https://files.pythonhosted.org/packages/83/35/4f6328db9a31e2776cdcd82ef7688994c11e265649f503858f1913444ba9/PyQtChart-5.14.0-5.14.0-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl
Collecting PyQt5>=5.14 (from PyQtChart)
  Using cached https://files.pythonhosted.org/packages/3a/fb/eb51731f2dc7c22d8e1a63ba88fb702727b324c6352183a32f27f73b8116/PyQt5-5.14.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3.6/tokenize.py", line 452, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-gzep4mr7/PyQt5/setup.py'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-gzep4mr7/PyQt5/

我还从https://www.riverbankcomputing.com/software/pyqtchart/download下载了zip文件夹并运行:
python3 configure.py --qmake /home/oo/Qt/5.14.0/gcc_64/bin/qmake
Error: Unable to import PyQt5.QtCore. Make sure PyQt5 is installed.

QT屏幕截图::
enter image description here

我的最终目标是使用pyqt5运行烛台图。
sudo python3 -m pip install pyqt5 pyqtchart
[sudo] password for oo:  
The directory '/home/oo/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/oo/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages
Requirement already satisfied: pyqtchart in /usr/local/lib/python3.6/dist-packages
Requirement already satisfied: PyQt5-sip<13,>=12.7 in /home/oo/.local/lib/python3.6/site-packages (from pyqtchart)

但仍然出现相同的错误:
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.sip'
>>> 

最佳答案

我认为最初的pip install麻烦是由于PyQt5切换到了最新发行版的manylinux2014平台标签(有关5.14.15.14.0,请参见PyPI上的轮子)。只有pip版本> = 19.3才能识别此平台标记(ref),因此,如果您碰巧有较旧版本的pip,它将尝试从源代码安装。

两种简单的选择(避免安装源代码):

  • 通过pip3 install --upgrade pip将点更新为最新
  • 安装先前版本,该版本使用manylinux1(pip3 install pyqt5==5.14.0)
  • 关于python - 在Linux上安装PyQt5 5.14.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59711301/

    相关文章:

    python - 如何使用多线程 ping 一个 IP 地址范围

    qt - 如何子类化 QGLWidget 以使用 glew?

    python - 从 tableView 模型打印单击行的数据

    qt - 如何创建可滚动的 QVBoxLayout?

    windows - 在 Windows 中,是什么让 qmake 将 "d"附加到调试目标?

    python - PyQt 4.7 - 在 Windows 上安装后出现 ImportError

    python - 在QGraphicsItem上添加动画时遇到的一个问题

    Python OpenCV 在中心坐标列表处绘制圆

    python - 在异步程序中将 Web 响应写入文件

    python - 如何连接到 sqlite3 db 文件并在 fastapi 中获取内容?