【发布时间】:2020-07-26 03:35:50
【问题描述】:
我正在尝试将 OpenCV 安装到我的 python 环境 (Windows) 中,而且我几乎已经安装完毕,但在自动完成和 Pycharm 本身导入库时仍然存在一些问题。我经历过无数其他相关主题,但似乎大多数主题要么已经过时,要么是预构建版本,要么没有答案。
我正在使用 Anaconda 并且有多个环境,不幸的是通过 pip install opencv-contrib-python 安装它并没有包含我需要的一切。所以,我从源代码构建了它,库本身似乎工作正常。构建过程将一些东西安装到./Anaconda3/envs/cv/Lib/site-packages/cv2/:__init__.py、一些配置 py 文件和.../cv2/python-3.8/cv2.cp38-win_amd64.pyd。我不确定它是否还有其他作用。
但这就是我所在的地方:
- 在单独的环境中,
pip install opencv-contrib-python既运行又具有自动完成功能 - 在这种环境下,OpenCV 实际上运行得很好,但是自动完成功能不起作用,并且 Pycharm 抱怨一切,例如:
Cannot find reference 'imread' in '__init__.py' - 使缓存无效/重新启动没有帮助
- 删除并重新添加环境无济于事
- 删除 Pycharm 的用户首选项文件夹没有帮助
- 重建/安装 OpenCV 没有帮助
- 文件->设置->项目->项目解释器设置正确
- 运行->编辑配置->Python解释器设置正确
所以我的问题是:Pycharm 如何获取或生成自动完成信息?看起来pyd文件只是一个伪装的dll,并且查看其他环境的site-packages/cv2文件夹,我没有看到任何有趣的东西。我读过 __init__.py 与它有关,但 pip 版本又不包含任何内容(除了有一个 from .cv2 import *,但我不确定这是如何影响的)。您可以下载的 .whl 文件是一个 zip,其中仅包含与“pip install”获取的内容相同的内容。
自动完成信息存储在哪里?也许有一些方法可以将它从一个环境复制到另一个环境?它几乎可以让我到达那里,在这一点上我认为这已经足够好了。也许我需要用我错过的另一个标志来重建它?
【问题讨论】:
-
我正在使用 Anaconda 并且有多个环境,不幸的是通过 pip install opencv-contrib-python 安装它并没有包含我需要的所有内容。 如果您正在使用conda,那为什么要通过 pip 安装库呢? 所以,我是从源代码构建的 只需
conda install opencv。
标签: python opencv pycharm anaconda conda