当 OpenCV 在 venv python 3.10 中时,Pycharm“找不到参考”
Posted
技术标签:
【中文标题】当 OpenCV 在 venv python 3.10 中时,Pycharm“找不到参考”【英文标题】:Pycharm "Cannot find reference" when OpenCV is in a venv python 3.10 【发布时间】:2021-11-29 01:26:35 【问题描述】:编辑-我尝试过的事情
*This 问题是一样的,但是那里的解决方案并没有解决我的问题。我没有 DLLs 文件夹,所以我做了一个,尝试了删除和不删除 site-packages/cv2/ 中的文件
*我检查了this 和this,但无法正常工作。
*我也尝试从我的基本解释器中删除opencv-python
,只在venv上下载它,但仍然没有用。
*我也多次尝试使缓存无效/重启。
*我也尝试过彻底删除python和pycharm。当我升级到 3.10 时,我什至无法安装 opencv。当我再次尝试 3.8 时,同样的问题发生了。
我想将 ML 库下载到 Pycharm (python 3.8)。最初我只是在 python 解释器本身(设置>项目> Python解释器)中添加它们(例如opencv-python
),它工作正常(所以现在我的常规解释器上有一堆库)。
然后我读到制作一个新的 venv 并在那里下载库是更好的做法。我新建了一个环境:
然后我进入新的解释器并添加opencv-python
(加号>搜索此>安装包):
之后我制作了一个需要cv2
的简短脚本。 Pycharm 无法导入 cv2,但按下“运行”时脚本运行正常(显示图像)。
如果我将解释器切换到常规解释器,它会识别 cv2 方法并自动完成我。
【问题讨论】:
能否添加PyCharm的终端截图? @Sabil 我可以,但它不会打印错误消息。运行后终端为空,按下按钮后它存在,代码为0。 这些有帮助吗? ***.com/… 要识别库的唯一要求是在设置中正确设置项目的默认解释器。您只是已经这样做了,所以它应该可以工作。由于代码在运行时工作,显然是索引 venv 的 IDE 文件需要刷新 - 尝试清除缓存!如果您在终端中运行它,请记住需要激活 venv,如果您使用的是运行配置,您还必须选择正确的 venv。但是编辑器窗口中的警告只连接到设置中选择的解释器。 @bad_coder 我使缓存无效并多次重新启动。我通过右上角的运行按钮运行,在运行配置中我选择了正确的 venv。 【参考方案1】:我使用anaconda
解决了它。
我第一次尝试它不起作用,所以可能是使用非 ascii 用户名(again)的问题。我在包含非 ascii 的路径中有 .conda
文件夹,以及安装在不同位置的 anaconda3 本身
正确安装:
-
同时卸载 anaconda、pycharm(如果有其他 python,请卸载它们)。
2。仅使用 ascii 创建一个新用户(例如 Ben)。 在此用户中:
-
安装 anaconda(我猜 miniconda 也可以)
创建一个 venv(我使用了 this 和 this 教程)
使用
conda-forge
安装您的软件包,就像教程中一样
【讨论】:
以上是关于当 OpenCV 在 venv python 3.10 中时,Pycharm“找不到参考”的主要内容,如果未能解决你的问题,请参考以下文章
为 Windows 激活 venv (Python 3.7.2) [重复]
在 linux mint 上安装 python3-venv 模块