解决方法:将 pip install opencv-python 改为 pip3 install opencv-python,即可成功安装。
- pip和pip3的区别
- 概念方面
pip
是Python的包管理工具,用于安装和管理Python软件包。它默认是关联到Python 2.x版本(如果系统中同时安装了Python 2和Python 3)。pip3
专门用于管理Python 3.x版本的软件包。在安装Python 3时,pip3
工具会自动安装,它的主要目的是确保Python 3的包管理与Python 2的包管理相互独立,避免不同Python版本之间的包冲突。
- 系统路径关联方面
pip
和pip3
在系统中的路径可能不同。当在命令行中输入pip
或pip3
命令时,操作系统会根据环境变量中的路径来查找对应的可执行文件。pip
可能会指向Python 2的安装目录下的Scripts
或bin
文件夹(在Windows和Linux等系统中有所不同),而pip3
会指向Python 3安装目录下的相应文件夹。
- 概念方面
- 关于无法用pip安装OpenCV但可以用pip3安装的原因
- Python版本兼容性问题
- OpenCV可能没有提供与Python 2兼容的版本,或者Python 2版本的
pip
无法正确解析OpenCV的安装依赖。例如,OpenCV的开发团队可能已经停止对Python 2的支持,只专注于提供适用于Python 3的安装包。 - 当你使用
pip
(关联Python 2)时,它尝试查找的是适合Python 2的OpenCV版本,由于不存在合适的版本,所以安装失败。而pip3
会查找适合Python 3的OpenCV版本,能够找到并成功安装。
- OpenCV可能没有提供与Python 2兼容的版本,或者Python 2版本的
- 环境配置差异
- 你的系统环境可能存在一些特殊配置,使得
pip
(Python 2)的软件源或安装路径等设置无法正确获取OpenCV安装所需的资源。而pip3
(Python 3)的环境配置能够正确地从相应的软件源获取OpenCV安装包及其依赖项。例如,pip3
所关联的Python 3环境可能已经配置了正确的镜像源,而pip
所关联的Python 2环境没有配置或者配置错误。
- 你的系统环境可能存在一些特殊配置,使得
- Python版本兼容性问题