由于在老帖子或其他论坛中我都找不到答案,因此我想向stackoverflow社区寻求建议。
我正在使用9.4版本(树莓派pi 3B +)和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?
编辑08.03.2019:
感谢FlyingTeller。我开始从源代码构建。我遵循以下步骤
您的链接。
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是什么或它是什么 手段。
编辑10.03.2019:
我可以解决最后一条错误消息。我安装了
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
有人知道吗?谢谢大家。
答案 0 :(得分:1)
好像他们搬了些东西。就获得并编译它们而言,这似乎是可行的。构建需要很长时间。
有关的设计师,请查看:
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
答案 1 :(得分:0)
今天我找到了解决方案。以下步骤对我有用,没有任何错误。整个过程耗时近两个小时。
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
答案 2 :(得分:0)
在我的情况下,它有助于将点号从版本18更新到最新的情况(在我的情况下为20.2(["tags","test","baby","example"]
),然后执行python -m pip install --upgrade pip
。
答案 3 :(得分:0)
接受的答案中使用的说明对我不起作用。我认为这仅仅是因为它们已经过时了。我想发布确实对我有用的命令列表。截至 2020 年 12 月 20 日,我正在使用最新版本的 Raspbian 运行 Pi 400。我使用了默认的 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
答案 4 :(得分:0)
由于声誉而无法发表评论,但我会添加到 Christ Troutner 有用的更新答案中,以防用户收到 No module named 'PyQt5.sip'
错误,请在配置期间尝试 --sip-module PyQt5.sip,根据文档:
注意
在构建 PyQt5 v5.11 或更高版本时,您必须配置 SIP 以创建一个 使用类似于命令行的 sip 模块的私有副本 以下:
python configure.py --sip-module PyQt5.sip
如果您已经安装了 SIP 并且您只想构建和 安装模块的私有副本,然后添加 --no-tools 选项。
答案 5 :(得分:0)
接受的答案对我不起作用,下面是对我有用的代码。
export class UsersService {
corsProxy = 'https://cors-anywhere.herokuapp.com/';
constructor(
private _http: HttpClient,
) { }
_getAllUsers(): Observable<User> {
return this._http.get<User>(`${this.corsProxy}http:/api/usersSelect/select`);
}
_createUser(user: User): Observable<User> {
return this._http.post<User>(`${this.corsProxy}http://api/usersInsert/update`, user);
}
_deleteUser(id: number) {
return this._http.delete(`${this.corsProxy}http://api/usersDelete/delete?id=${id}`);
}
_editUser(id: number, user: User) {
console.log('User in SERVICE: ', user)
return this._http.put<User>(`${this.corsProxy}http:/api/usersUpdate/Update?id=${id}`, user);
}
}
这段代码不仅安装了Qtcreator,还安装了Qt5 Assistant、Qt5 Designer和Qt5 Linguist