ModuleNotFoundError: No module named 'cv2.cv2' after changing `sys.path`

ModuleNotFoundError: No module named 'cv2.cv2' after changing `sys.path`

我的 Ubuntu 18.04 机器上有两个 python3 环境。

  1. 内置 Python 环境位于 /usr/local/lib/python3.6/dist-packages/
  2. 蟒蛇python3。 注意:Opencv 在两者中都能完美运行。

我正在构建的系统需要在不同时间使用 sudo python3(/usr/local/lib/python3.6/dist-packages/) 和 python3(anaconda),但我想最小化依赖大小对于用户。所以我想做的是,依赖项将仅安装在内置 python3 中,当程序被正常 python3 调用时,脚本会将 sys.path 设置为sys.path of sudo python。(我在安装时将该路径存储在文件中。)

但是当我这样做时 import cv2 加注:ModuleNotFoundError: No module named 'cv2.cv2'

注意:其他库工作正常。只有 Opencv 有这个问题。

正确的方法是使用 sudo apt install python3-opencv 安装 OpenCV。使用 apt install 安装的 OpenCV 可以在您系统的任何地方使用,而 pip 只会将 OpenCV 安装到特定的 python 环境。