PyCharm 无法在 __init__.py 中找到任何 OpenCV 函数的引用

问题描述 投票:0回答:3

我使用的是 PyCharm 2021.2 专业版,我已经安装了 opencv-python:

pip install opencv-python

但是,当我尝试使用 cv2 包时,IDE 一直给我以下警告:

Cannot find reference 'resize' in '__init__.py'

这里我给出了调整大小函数的例子,但它发生在 cv2 包中的每个函数上。虽然代码运行没有错误,但我不能使用自动完成功能,这有点烦人。我在 here 找到了可能有帮助的答案。那家伙说要用:

import cv2.cv2 as cv2

但是这对我不起作用。我收到以下错误:

ERROR: No matching distribution found for cv2

那是因为opencv里面没有叫cv2的包。有谁知道如何解决这个问题?是 PyCharm 的问题吗?

更新 这是命令的输出

pip show opencv-python

Name: opencv-python  
Version: 4.5.3.56  
Summary: Wrapper package for OpenCV python bindings.  
Home-page: https://github.com/skvark/opencv-python  
Author: None  
Author-email: None  
License: MIT  
Location: z:\appdata\python\lib\site-packages  
Requires: numpy  
Required-by:  
python opencv import pycharm
3个回答
16
投票

这个解决方案对我有用。

  • 在首选项中,选择 Python Interpreter
  • 单击设置图标(显示 Python 解释器的框右侧的齿轮,然后选择全部显示
  • 所有已配置的口译员的列表显示,您当前的口译员已经高亮显示。
  • 在您的解释器仍然突出显示的情况下,单击顶部显示文件夹和子文件夹的图标。工具提示应显示“显示所选解释器的路径。
  • 单击 + 按钮并添加以下路径:/lib/python3.9/site-packages/cv2 如果您使用不同的 Python 版本,.../python3.9... 将有所不同。
  • 单击“确定”,直到返回主 IDE 窗口

在 Mac OS 12.4、PyCharm 2022.1 上测试


2
投票

你能分享命令的输出吗

pip show opencv-python
如果输出是这样的

Name: opencv-python
Version: 4.5.1.48
Summary: Wrapper package for OpenCV python bindings.
Home-page: https://github.com/skvark/opencv-python
Author: None
Author-email: None
License: MIT
Location: c:\users\{username}\appdata\local\programs\python\python37\lib\sitepackages
Requires: numpy
Required-by:

然后他们是 opencv 的

__init__.py
文件的一些问题

你能分享输出吗

谢谢

根据你的输出,很明显 pip 已经在你的机器上正确安装了 cv2

你现在可以分享

的输出吗

python -c "import cv2"

这是检查python或者pycharam是不是有问题


1
投票

如果使用

opencv-python > 4.5.5.62
的版本,则 pip 包中存在错误(请参阅:https://github.com/opencv/opencv-python/issues/821)。

这导致缺少自动完成和pycharm中的

Cannot find reference 'im...' in '__init__.py'

当前使自动完成工作并避免警告的解决方法是显式安装旧版本的 opencv。

pip install --force-reinstall --no-cache -U opencv-python==4.5.5.62

© www.soinside.com 2019 - 2024. All rights reserved.