【问题标题】:pyuic5 - ModuleNotFoundError: No module named PyQt5.sippyuic5 - ModuleNotFoundError:没有名为 PyQt5.sip 的模块
【发布时间】:2019-01-19 08:26:16
【问题描述】:

我刚刚在我的 Windows 系统上安装了带有 Python 3.6 的 Anaconda 5.2。还通过具有管理员权限的 pip 安装了 pyqt5 和 pyqt5-tools。现在,当我运行 pyuic5.exe 来转换 ui 文件时,它显示以下错误:

Traceback (most recent call last):
  File "C:\Users\AshfaqurRahman\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
  File "C:\Users\AshfaqurRahman\Anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
  File "C:\Users\AshfaqurRahman\AppData\Roaming\Python\Python36\site-packages\PyQt5\uic\pyuic.py", line 26, in <module>
from PyQt5 import QtCore
ModuleNotFoundError: No module named 'PyQt5.sip'

我尝试使用 pip 安装 PyQt5-sip 包。但是它已经安装在我的系统中了。

为什么会出现这个问题?我该如何解决这个问题?

【问题讨论】:

  • 你可以试试pip install --upgrade sip然后pip install --upgrade pip install PyQt5-sip
  • 您是说pip install --upgrade pippip install PyQt5-sip 吗?
  • 没关系值得一试:)
  • 在这种情况下:pip install --upgrade sip 返回已经是最新版本。 pip install --upgrade pip install PyQt5-sip 返回“找不到满足安装要求的版本(来自版本:)找不到匹配的安装发行版”
  • 尝试卸载然后重新安装 pyqt5 和 pyqt5-tools

标签: python anaconda pyqt5


【解决方案1】:

我也是 MAC 用户,但发现添加下面的代码解决了我的“没有名为 sip 的模块”的问题:

from PyQt5.QtCore import QCoreApplication

【讨论】:

    【解决方案2】:

    根据来自 cmets 的Agile_Eagle 的建议,我刚刚卸载了pyqt5pyqt5-tools 软件包并重新安装了它们。问题解决了!

    PS.:如果您仍然遇到 PyQt 问题,请尝试卸载所有 PyQt 相关库:

    pip uninstall PyQt5
    pip uninstall PyQt5-sip
    pip uninstall PyQtWebEngine
    

    然后重新安装它们,这将修复:

    ModuleNotFoundError: No module named 'PyQt5.sip'
    ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
    

    PPS.:如果卸载库时遇到问题,请转到 Python 文件夹,如 C:\Users\&lt;USERNAME&gt;\AppData\Local\Programs\Python\Python&lt;PYTHON-VERSION&gt;\Lib\site-packages 并手动删除 PyQt 文件夹,然后卸载所有内容并重新安装(确保您拥有最新的 Python 版本并升级您的 pip也)

    【讨论】:

    • 这行得通,不过我想提一下,当您使用 Linux 发行版的 PyQt5 时,您必须从系统的管理器中卸载它(或者暂时破坏依赖关系,或者卸载依赖于 PyQt 的软件包)。
    • 不知道卸载和安装是如何工作的,但它对我有用:P
    【解决方案3】:

    以上答案均不适用于 conda 的 python 3.6 上的 PyQt5 5.13.0。

    安装pyqt5pyqt5-sip 后,只需进入python 的站点包并将sip.soPyQt5_sip 包复制到Qt 其余模块所在的PyQt5 文件夹(或创建符号链接)。

    将啜饮放入单独的包装中似乎是一个糟糕的决定。

    【讨论】:

      【解决方案4】:

      截至 2019 年 6 月,pyqt5-tools 不再存在。 我找到的解决方案是先安装pyqt5-sip,然后再安装pyqt5

      $ pip install pyqt5-sip
      
      $ pip install pyqt5
      

      这似乎摆脱了以下错误:ModuleNotFoundError: No module named 'PyQt5.sip'

      【讨论】:

        【解决方案5】:

        我是 Mac 用户,遇到过类似的问题。 但是,我知道对于窗口用户,您正在寻找的是 pyuic5.bat 而不是 pyuic5.sip 看来您只需提供 pyuic 文件的完整路径(对我来说,它位于主目录中的隐藏文件夹 usr 下:/usr/local/Cellar/pyqt/5.10.1_1/bin/pyuic5)并确保在您的终端(对您而言,cmd)上您将目录更改为您希望转换为 *.py 文件的 *.ui 文件所在的位置。

        例如,如果您的桌面上有一个名为 untitled.ui 的 Qt 设计器文件,请在终端中输入以下命令:

        Amars-MacBook-Pro:Desktop amaradak$ /usr/local/Cellar/pyqt/5.10.1_1/bin/pyuic5 -x untitled.ui -o untitled.py
        

        希望这会有所帮助... 干杯

        【讨论】:

          猜你喜欢
          • 2019-07-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-11
          • 1970-01-01
          • 2020-11-20
          • 2019-04-07
          • 2019-09-25
          相关资源
          最近更新 更多