【发布时间】:2021-12-17 19:43:45
【问题描述】:
重现错误的步骤:
我刚刚在我的新 Conda 环境(Python 3.7.11)上安装了 OpenCV,使用:
conda install opencv
一切顺利。 Conda 正在下载和提取其他一些包,包括 numpy-1.21.2。 安装的 opencv 版本是 3.4.2
我试图从我的终端,从根目录运行这段代码。
python
>> import cv2
>> cv2.__version__
仍然运行顺利。 Python 打印 cv2 版本。但是当我从另一个目录(例如:~/Downloads)运行相同的代码时会出现错误。错误是:
Python 3.7.11 (default, Jul 27 2021, 07:03:16)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import
更多奇怪的错误
当我直接从 vscode 运行相同的代码,在 vscode 中选择相同的 conda 环境时,同样的问题出现在 vscode 终端。更重要的是,当我尝试从 vscode 终端输入 python 时,它显示 python 2.7
│ ~ source /opt/anaconda3/bin/activate 1 ✘ │ base │ 08:09:48 PM
│ ~ conda activate testenvi ✔ │ base │ 08:09:48 PM
│ ~ python -u "/Users/martinmanullang/Downloads/testsiopencv.py" ✔ │ testenvi │ 08:09:49 PM
Traceback (most recent call last):
File "/Users/martinmanullang/Downloads/testsiopencv.py", line 1, in <module>
import cv2
ImportError: No module named cv2
│ ~ python 1 ✘ │ testenvi │ 08:09:53 PM
WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
Python 2.7.18 (default, Oct 2 2021, 04:20:39)
[GCC Apple LLVM 13.0.0 (clang-1300.0.29.1) [+internal-os, ptrauth-isa=deploymen on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
我已经尝试过的一些步骤:
- 用
pip install opencv-contrib-python重新安装opencv - 重新安装 numpy(使用 pip,使用 conda)
- 使用 python 3.5,3.6,3.9 创建新环境
没有任何作用。需要你们的帮助。
系统规范
- 运行 macOS Monterey 的 MacbookPro 2020
- VSCode 1.61.2
- 带有 ZSH 的 iTerm 3.4.12
【问题讨论】:
-
你能在根目录下查看你使用的是哪个python吗?以及是否可以在
conda环境中找到cv2文件夹?看来您需要在conda环境中重新安装numpy。你能直接在终端中运行python文件而不是Code Runer吗? -
根目录中的 Python:3.7.11(使用 iTerm)非根目录中的 Python:3.7.11(使用 iTerm)'python' 显示:/opt/anaconda3/envs/testenvi/bin/python /usr/bin/python 是的,我在里面有 cv2 文件夹:/opt/anaconda3/envs/testenvi/include/opencv2
-
抱歉迟到了。从代码的第二部分来看,您似乎已经在 aconda 环境中安装了
opencv,但我无法知道它是哪个 aconda 环境。你能附上一些包含完整信息的图片吗?包括根目录和根目录外的终端,以及在VSCode中,除了你的名字请不要隐藏信息,那我不知道你使用的是哪个环境。
标签: python opencv visual-studio-code anaconda conda