Python3.6 在 Raspberry 上安装 PyQt5

Install PyQt5 on Raspberry for Python3.6

由于我的问题在旧帖子和其他论坛中均未找到答案,因此我想向 Whosebug 社区寻求建议。

我正在使用 raspberry pi 3B+,版本 9.4(精简版),内核版本为 4.14.71-v7。

我用python3.6。我是这样安装的:

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
sudo tar xzf Python-3.6.0.tgz

sudo -s
cd Python-3.6.0
bash configure
make altinstall
exit

安装没有任何问题,一切正常。

现在我想为 python3.6 安装 PyQt5 模块。我通常使用

sudo python3.6 -m pip install ...

为 python3.6 安装模块。正在尝试

sudo python3.6 -m pip install pyqt5

给我错误信息

 Could not find a version that satisfies the requirement PyQt5 (from versions: )
 No matching distribution found for PyQt5

所以我尝试了

sudo apt-get update
sudo apt-get install qt5-default pyqt5-dev pyqt5-dev-tools

但是它在树莓派上为 python3.5(预装)安装了 PyQt5。

请问有谁知道后续安装的PyQt5怎么使用或者安装吗 python3.6?

编辑 2019 年 3 月 8 日:
感谢 FlyingTeller。我开始从源代码构建。我按照以下步骤操作 你的 link.

sudo apt-get update
cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/sip/sip-4.19.14.tar.gz
sudo tar xzf sip-4.19.14.tar.gz
cd sip-4.19.14
sudo -s
python3.6 configure.py --sip-module=PyQt5.sip 
make
make install

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/PyQt5/PyQt5_gpl-5.12.tar.gz
sudo tar xzf PyQt5_gpl-5.12.tar.gz
cd PyQt5_gpl-5.12
python3.6 configure.py

然后我收到以下错误

Error: Use the --qmake argument to explicitly specify a working Qt qmake.

我认为我的方法是正确的,但我不明白 qmake 是什么或它是什么 意思是

编辑 2019 年 3 月 10 日:
我可以解决最后一条错误消息。我安装了

sudo apt-get install qt5-default

然后我做了与已经提到的相同的程序。现在我收到错误

fatal error: sip.h: File or directory not found 
#include <sip.h>

PyQt5 config.py 位于:/usr/src/PyQt5_gpl-5.12
SIP sip.h 位于:/usr/src/sip-4.19.14

有什么想法吗?谢谢大家。

今天我找到了解决办法。以下步骤对我有用,没有任何错误。整个过程用了将近两个小时。

sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install sip-dev

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/sip/sip-4.19.14.tar.gz
sudo tar xzf sip-4.19.14.tar.gz
cd sip-4.19.14
sudo python3.6 configure.py --sip-module PyQt5.sip
sudo make
sudo make install

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/PyQt5/PyQt5_gpl-5.12.tar.gz
sudo tar xzf PyQt5_gpl-5.12.tar.gz
cd PyQt5_gpl-5.12
sudo python3.6 configure.py
sudo make
sudo make install

好像他们移动了一些东西。就获取事物和编译它们而言,这似乎有效。搭建时间长

对于关联的设计师,请查看:

sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install sip-dev

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/sip/4.19.23/sip-4.19.23.tar.gz
sudo tar xzf sip-4.19.23.tar.gz
cd sip-4.19.23
sudo python3 configure.py --sip-module PyQt5.sip
sudo make
sudo make install

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/PyQt5/5.13.2/PyQt5-5.13.2.tar.gz
sudo tar xzf PyQt5-5.13.2.tar.gz
cd PyQt5-5.13.2
sudo python3  configure.py
sudo make
sudo make install

在我的例子中,它有助于将 pip 从版本 18 更新到最新版本,在我的例子中是 20.2 (python -m pip install --upgrade pip),然后执行 pip install PyQt5.

接受的答案中使用的说明对我不起作用。我认为这仅仅是因为它们已经过时了。我想 post 为我工作的命令列表。我是 运行 Pi 400,截至 2020 年 12 月 20 日最新版本为 Raspbian。我使用默认的 python3 而不是 python3.6.

这是对我有用的修改后的命令列表:

sudo apt-get install qt5-default
sudo apt-get install sip-dev

cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/sip/sip-5.5.1.dev2011271026.tar.gz
sudo tar xzf sip-5.5.1.dev2011271026.tar.gz
cd sip-5.5.1.dev2011271026
sudo python3 setup.py build
sudo python3 setup.py install

sudo wget https://files.pythonhosted.org/packages/28/6c/640e3f5c734c296a7193079a86842a789edb7988dca39eab44579088a1d1/PyQt5-5.15.2.tar.gz
sudo tar xzf PyQt5-5.15.2.tar.gz
cd PyQt5-5.15.2
sudo python3 configure.py
sudo make
sudo make install

由于声誉原因无法发表评论,但我会添加到 Christ Troutner 有用的更新答案中,以防用户遇到 No module named 'PyQt5.sip' 错误,请在配置期间尝试 --sip-module PyQt5.sip,根据文档:

Note

When building PyQt5 v5.11 or later you must configure SIP to create a private copy of the sip module using a command line similar to the following:

python configure.py --sip-module PyQt5.sip

If you already have SIP installed and you just want to build and install the private copy of the module then add the --no-tools option.

接受的答案对我不起作用,下面是对我有用的代码。

   sudo apt-get update
   sudo apt-get install qt5-default
   sudo apt-get install qtcreator

这段代码不仅安装了Qtcreator,还安装了Qt5 Assistant、Qt5 Designer、Qt5 Linguist