python - 在 ubuntu 18.04 上安装/导入 pyqt5 有困难
问题描述
目标:pyqt5
在Ubuntu 18.04下导入python3
我知道这里和其他地方有很多类似问题的答案。我已经尝试了很多,但我没有看到任何与我的情况完全匹配的东西。
从全新安装 Ubuntu 18.04 开始,我尝试了很多方法来让语句import pyqt5
在 Python 3.6.9 中成功,这是该发行版上的默认 python3。
他们都没有成功。
在几次尝试中,重新安装 Ubuntu 几次,我让 pip3 遇到 404 下载https://pypi.org/simple/python3-pyqt5/并通过将 URL 粘贴到 Firefox 中确认错误并获得 404。(我还检查了 Firefox 是否可以正常访问 Internet)
但通常我运行的过程似乎表明 pyqt 已成功加载但仍无法在 Python3 中导入它。
我从各种网站尝试过的事情包括:
- pip3 安装 --upgrade pip
- pip3 install pyqt5==5.14.0 vs pip3 install pyqt5(默认为5.14.1)
- 安装一个简单的pypi模块,发现我可以毫无问题地将它导入Python3
- 在 sudo 下运行 pip3
- 将 python3 升级到 Python 3.7.4
下面显示了我从重新安装开始所做的更完整的列表。
有关解决方案的任何建议或在我的系统上查看什么?
我上周通过从 Ubuntu.com 下载可执行文件创建了 Ubuntu 18.04.4 的可启动记忆棒。与该版本打包的所有内容似乎都可以正常工作,包括其他情况下的 Python 3.6.9。除了以下步骤,我几乎什么都不做。
sudo apt install python3-pip
pip3 install humanfriendly (just to ensure that pip3 works for a simply pypi module)
pip3 install --upgrade pip
pip3 install python3-pyqt5
sudo apt-get install pyqt5-dev-tools (no complaints from pip3 seems to work okay)
sudo apt-get install qttools5-dev-tools (seems to work)
in python3
>>>import pyqt5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyqt5'
pip3 uninstall pyqt5 (Successfully uninstalled PyQt5-5.14.0)
pip3 install pyqt5 --user (Successfully installed pyqt5-5.14.1
Try to import in python3 again, same result: "No module named 'pyqt5'"
cd ~/.local/bin
ls
humanfriendly pip pip3 pip3.6 pylupdate5 pyrcc5 pyuic5
(there seems not to be an entry for pyqt5 although there is for some of its stand-alone componentes)
pip3 uninstall pyqt5
ls
humanfriendly pip pip3 pip3.6
(what was there went away)
pip3 uninstall pyqt5 (Successfully uninstalled PyQt5-5.14.1)
pip3 install pyqt5 --user (seems to succeed)
try to import in python3 (same error)
pip3 uninstall pyqt5 (Successfully uninstalled PyQt5-5.14.1)
next I tried sudo pip3 uninstall pyqt5
seems to work; not importable in python3; sudo pip3 uninstall
next I created a virtual env, ~/.vents/tevs
activate the venv
pip3 install pyqt5==5.14.0
Installing collected packages: PyQt5-sip, pyqt5
attempt to import pyqt5 in python3: fails as before
pip3 uninstall pyqt5
(Successfully uninstalled PyQt5-5.14.0 after listing thousands of files
in .venvs/tevs/lib/python3.6/site-packages/PyQt5)
pip3 install python3-pyqt5
(fails with HTTP Error: 404 Client Error:
Not Found for url: https://pypi.org/simple/python3-pyqt5/)
解决方案
OP注释中应注意几个问题:
库的名称不一定与如何导入库的名称匹配,另一方面 pip 接受 pyqt5 和 PyQt5 等名称作为等效名称,但是当您导入它时,您应该使用
PyQt5
, notpyqt5
,以便测试您是否已安装您可以执行以下操作:在控制台上运行:
$ python3 -c "from PyQt5.Qt import PYQT_VERSION_STR; print(PYQT_VERSION_STR)" 5.14.1
在 python 控制台上运行:
Python 3.8.1 (default, Jan 22 2020, 06:38:00) [GCC 9.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from PyQt5.Qt import PYQT_VERSION_STR >>> print(PYQT_VERSION_STR) 5.14.1
python3-pyqt5 是为您的社区编译的 pyqt5 版本提供 ubuntu 存储库的包的名称,该版本通常是非当前版本。所以安装pyqt5有几种方法:
- 使用 ubuntu 存储库:
sudo apt-get install python3-pyqt5
- 使用 pip:(
python3 -m pip pyqt5
如果需要,必须使用 sudo)或python3 -m pip install pyqt5 --user
(此方法也适用于 virtualenv)
- 使用 ubuntu 存储库:
因此我可以得出结论,OP 已成功安装 PyQt5,但未能验证安装是否正确,因此我建议使用 (1) 中指示的内容
推荐阅读
- imgur - Imgur申请注册链接无效?
- c# - “FromRoute”请求属性的驼峰式序列化
- sql - MS Access 2013 VBA - 目录路径中的句点(“.”)问题
- java - 如何扫描字符串中以逗号分隔的元素?
- css - VSCode:如何保留空行(在 scss 文件或其他文件中)?
- python - 将 Django 命令输出记录到 Apache 错误日志
- swift - 由于一种系统语言,NSLocalizedString 出现致命错误
- arrays - 重塑数组错误:*** IndexError:元组索引超出范围
- ruby - 如何在 searchkick 中结合精确短语和部分匹配
- javascript - 如何使用 Facebook Javascript SDK 登录并在组件内使用 React Web 和 Typescript 强制重新认证