由于SIP依赖,在linux上安装pyqt5失败

由于SIP依赖,在linux上安装pyqt5失败

我正在尝试pyqt5在linux上安装;

$ cat /proc/version 
Linux version 4.11.4-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Wed Jun 7 12:18:44 EDT 2017

我完成了python3安装pip3(有很多困难),当我最终要做:时sudo pip3 install pyqt5,我得到:

Collecting pyqt5
  Using cached PyQt5-5.8-5.8.0-cp34.cp35.cp36.cp37-abi3-manylinux1_x86_64.whl
Collecting sip>=4.19.1 (from pyqt5)
  Could not find a version that satisfies the requirement sip>=4.19.1 (from pyqt5) (from versions: )
No matching distribution found for sip>=4.19.1 (from pyqt5)

我知道 sip4.19.1是一个依赖项(为什么不能pip3自动安装它?),所以我尝试使用 来安装它sudo yum install sip,希望获得最新的 sip,但我却得到了:

Package sip-4.14.6-4.el7.x86_64 already installed and latest version

4.14.6不是最新的,并且这样做sudo yum update sip没有帮助:

No packages marked for update

我在网上找到了最新的sip安装:http://pyqt.sourceforge.net/Docs/sip4/installation.html 但我宁愿通过命令行简单地发出来安装它sudo yum install $WHATEVER(因为稍后我希望将整个pyqt5安装打包到一个简单的脚本中)。
我应该更新什么才能yum找到并安装最新的 sip ( 4.19.7)?

编辑
根据评论中的 @Norrius 请求,这就是我得到的:

$ sudo pip3 install SIP
Collecting SIP
  Could not find a version that satisfies the requirement SIP (from versions: )
No matching distribution found for SIP
$ python3 --version
Python 3.4.5

答案1

好像是不可能的通过 pip 在 Python 3.4 上安装 PyQt5。根本不支持。您的选择是:

  • 跳过 PyQt 的依赖项pip3 install pyqt5 --no-deps并查看它是否按原样工作。显然,您的系统上有 SIP,但 pip 不会知道它的任何信息,因为它是通过 yum 安装的。但是,我不知道 PyQt5 是否可以与 SIP 4.14.6 一起使用。尝试导入一些东西,例如python3 -c "from PyQt5.QtWidgets import QApplication":如果Python不抛出异常No module named 'sip',它可能会起作用。
  • 手动下载 SIP 4.19,构建并安装它,然后按照上面的方法安装 PyQt5。尽管它不如从包管理器获取所有内容方便,但您仍然可以将此步骤打包到一个简单的脚本中。
  • 退后一步,获取更新的 Python。目前最新版本是 3.6.4,但您应该pip3 install PyQt5也可以在 Python 3.5 上使用。

相关问题:

答案2

我通过安装解决了我的问题lxml,并且没有运行以下命令:sudo pip3 install -r requirements/requirements-linux-python3.txt

所有步骤:

  1. pip3 install lxml
  2. make qt5py3
  3. python3 labelImg.py

相关内容