【问题标题】:This application failed to start because no Qt platform plugin could be initialized此应用程序无法启动,因为无法初始化 Qt 平台插件
【发布时间】:2020-05-19 09:45:05
【问题描述】:

我是编程新手,在尝试运行一个非常简单的 Python 脚本时遇到了这个错误:

qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

zsh: abort      python3 mypuppy1.py

脚本代码为:

import cv2
img = cv2.imread('00-puppy.jpg')
while True:
    cv2.imshow('Puppy',img)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cv2.destroyAllWindows()

但是,此 Notebook 代码在 JupyterLab 中有效:

import cv2
img = cv2.imread('00-puppy.jpg')
cv2.imshow('Puppy', img)
cv2.waitKey()

我在 macOS 上,使用 Anaconda 和 JupyterLab。

我已尝试在谷歌上搜索该问题,但要么我无法正确实施解决方案,要么它们对我不起作用,因为它们中的大多数都是针对 Windows 用户的。

对于这个问题的任何帮助,我将不胜感激。谢谢!

【问题讨论】:

  • 我也有同样的问题。如果你运行brew info qt,你可以看到它的安装位置和版本。我认为问题在于 python 没有在正确的位置寻找它,因此必须设置环境变量。
  • 我必须通过 qt.io/download-qt-installer 将 QT 重新安装到我的 Users/ 路径中的目录,现在它可以工作了。
  • 安装 opencv-python-headless 而不是 opencv-python 解决了我在 Mac 上遇到的同样问题(我刚刚做了 pip install opencv-python-headless)。我觉得值得一试。
  • 我通过stackoverflow.com/a/55617809解决了我同样的问题。

标签: python macos qt jupyter-notebook anaconda


【解决方案1】:

对于 Ubuntu 用户,

sudo apt-get install qt5-default 解决了这个问题。

(我使用的是 OpenCV 4.4)

【讨论】:

    【解决方案2】:

    经过多次反复试验,对我来说它适用于卸载和安装numpy 和opencv。

    【讨论】:

      【解决方案3】:

      对我来说,它通过使用刚刚发布的4.2 版本之前的opencv-python 版本来工作。 2020 年 2 月 2 日发布的新版本 (4.2.0.32) 似乎导致了这一重大变化,并且可能希望在其他答案所指出的特定位置(Users/ 目录)找到 Qt。

      您可以尝试按照建议从 qt.io 手动安装,并确保在您的 Users 目录下获得 .qt 目录,或者您可以使用版本 4.1.2.30,它就像魅力一样工作,无需执行任何其他操作。

      它也适用于 opencv-contrib-python。

      【讨论】:

        【解决方案4】:

        尝试安装

        pip3 install opencv-python==4.1.2.30  
        

        【讨论】:

          【解决方案5】:

          这可以解决安装python-opencv-headless 而不是python-opencv

          【讨论】:

          • 我是opencv-python-headless
          • 它不起作用并给我这个错误:cv2.error: OpenCV(4.5.2) /tmp/pip-req-build-5wrl9sz4/opencv/modules/highgui/src/window.cpp:679: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'
          • @FranvaI 我得到了完全相同的错误。你解决了吗?
          【解决方案6】:

          我遇到了同样的问题。我同意西姆兰·辛格的观点。这个问题来自最近的更新。

          引用 pacjin79 在 Github 上的话:“如果您使用的是 Mac,请确保安装 opencv-python-headless 而不是 opencv-python 以避免这些错误。” link

          我个人通过这样做解决了这个问题。希望这对你有用。

          【讨论】:

            【解决方案7】:

            这里也是同样的问题。没有答案,但它出现在类似的设置中。我尝试了很多解决方案:

            • 从 brew 安装 QT,
            • 从以下位置重新安装:qt.io/download-qt-installer
            • 从 pip 安装(使用虚拟环境)
            • 显式设置更改环境变量
              • QT_PLUGIN_PATH="/Users/halopend/.qt/5.14.1/clang_64/plugins/"
              • QT_QPA_PLATFORM_PLUGIN_PATH="/Users/halopend/.qt/5.14.1/clang_64/plugins/platforms/"

            有时问题似乎是 opencv 中包含 qt,它使用外部定义的 qt 进行分类,但我不确定。

            无论如何,不​​确定这是否会对您有所帮助,但至少您对在哪里查看有一些想法。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-08-03
              • 2022-07-10
              • 1970-01-01
              • 2015-06-06
              • 2014-04-11
              • 2016-06-10
              • 2014-10-01
              • 2013-12-28
              相关资源
              最近更新 更多