【问题标题】:Python unable to import module within library [closed]Python无法在库中导入模块[关闭]
【发布时间】:2020-11-24 11:53:14
【问题描述】:

我正在尝试使用 PyQt5 的 QSerialPort 模块。我发现的一切都表明包含 QSerialPort 的 QtSerial 应该与 PyQt5 一起提供。例如,

>>> from PyQt5 import QtSerial
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'QtSerial' from 'PyQt5' (/usr/lib/python3.8/site-packages/PyQt5/__init__.py)

我尝试从 PyCharm 内部安装 PyQt5,以及在命令行上使用 pip。我已经尝试升级 pip 并重新安装 PyQt5。我可以使用 PyQt5 的其他模块,例如 PyQt5.QtWidgets 导入没有任何问题。我还尝试从AUR 安装qt5-serialport-595qt51-serialport(我正在使用Archlinux),但无济于事。

当我转到命令行并运行 $ pip list -v PyQt5 时,我可以看到 PyQt5 安装在 /usr/lib/python3.8/site-packages/ 上,当我查看那里时,我可以看到文件 /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.so 存在。但是我也无法导入 PyQt5.QtSerial 因为它也找不到,尽管消息略有不同:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

这不是由 import 语句中的拼写错误引起的。我已经尝试了几乎所有可能的字母 Q 和 T 以及 Serial 和 Port 的排列。 PyQt5的串口模块如何使用?

【问题讨论】:

  • from PyQt5 import QtSerialPort 工作吗?
  • 您是如何尝试导入它的?当你尝试时发生了什么?
  • @James No. @JeffUK 我能想到的各种方式。 import QtSerialfrom PyQt5 import QtSerialfrom PyQt5.QtSerial import QSerialPort 等。我得到ImportError: cannot import name 'QtSerial' from 'PyQt5'ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory
  • 是的,我认为它是 QtSerialPort,因为这是我在其他人的代码中看到的:from PyQt5.QtSerialPort import QSerialPort。这对你不起作用?
  • @RolvApneseth 我正在使用 PyCharm 进行开发,但我现在正在命令行上测试导入。我已将 pycharm 配置为在该项目中使用系统 python; PyCharm中的路径与命令行中which python的输出相同。

标签: python pip pycharm pyqt5 libraries


【解决方案1】:

基于this Archlinux forums post,我运行pacman -Si python-pyqt5,它给了我一个包含qt5-serialport: QtSerialPort 行的可选deps 列表,所以我使用yay 安装qt5-serialport。由于某种原因,这与qt51-serialportqt5-serialport-595 以及实际上的任何AUR packages with serialport in the name that can be found by searching the AUR site 都不同。现在当我在命令行上使用 python 时,我可以from PyQt5.QtSerialPort import QSerialPort 没有错误。

我应该注意到,PyCharm 用来查找可安装包的 https://pypi.python.org/simple 的包 repo、可搜索的 AUR 列表和 pip 似乎都没有显示 qt5-serialport 作为选项。因此,即使我下载了它并且 python 可以从命令行找到它,它仍然没有被 PyCharm 导入,这是一个单独的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2020-07-02
    • 2022-09-27
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多