You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译安装的OpenCV无法被pip识别,项目运行失败求助

编译安装的OpenCV无法被pip识别的问题解决

问题情况

在CentOS系统的Conda环境orion中手动编译安装了OpenCV 3.4.11,完成make install后:

  • 已通过pkg-config确认安装成功
  • Python解释器可正常导入cv2并查看版本
  • 但pip无法识别该包,运行pip check提示mlprimitives 0.3.4依赖的opencv-python未安装
  • 项目运行时抛出如下错误,尽管cv2已存在于orion环境的site-packages目录中:
DistributionNotFound: 未找到应用所需的 'opencv-python<4.7,>=3.4.0.12' 包。

编译所用CMake命令:

cmake3 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON -D PYTHON3_EXECUTABLE=/home/opc/.conda/envs/orion/bin/python \
-D PYTHON3_INCLUDE=/home/opc/.conda/envs/orion/include/python3.8 \
-D PYTHON3_LIBRARY=/home/opc/.conda/envs/orion/lib/libpython3.8.so \
-D PYTHON3_PACKAGES_PATH=/home/opc/.conda/envs/orion/lib/python3.8/site-packages \
-D PYTHON_EXECUTABLE=/home/opc/.conda/envs/orion/bin/python \
-D PYTHON_INCLUDE=/home/opc/.conda/envs/orion/include/python3.8 \
-D PYTHON_LIBRARY=/home/opc/.conda/envs/orion/lib/libpython3.8.so \
-D PYTHON_PACKAGES_PATH=/home/opc/.conda/envs/orion/lib/python3.8/site-packages \
-D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF ..

解决方法

1. 手动生成pip可识别的包元数据

pip通过site-packages下的.dist-info目录识别包,手动编译的OpenCV缺少这些元数据,可手动创建:

  • 进入环境的site-packages目录:
    cd /home/opc/.conda/envs/orion/lib/python3.8/site-packages
    
  • 创建opencv-python.dist-info目录:
    mkdir opencv-python.dist-info
    
  • 在该目录下创建METADATA文件,写入以下内容(版本号对应3.4.11):
    Metadata-Version: 2.1
    Name: opencv-python
    Version: 3.4.11
    Summary: OpenCV Python绑定库
    Home-page: https://opencv.org/
    Author: OpenCV开发团队
    License: BSD
    Classifier: Development Status :: 5 - Production/Stable
    Classifier: Intended Audience :: Developers
    Classifier: Intended Audience :: Science/Research
    Classifier: License :: OSI Approved :: BSD License
    Classifier: Programming Language :: Python
    Classifier: Programming Language :: Python :: 3
    Classifier: Programming Language :: Python :: 3.8
    Classifier: Topic :: Software Development
    Classifier: Topic :: Scientific/Engineering
    Classifier: Topic :: Scientific/Engineering :: Image Recognition
    
  • 再创建INSTALLER文件,写入:
    manual
    

2. 替换为pip安装的官方包

如果不需要自定义编译的特性,直接用pip安装对应版本的预编译包,pip可正常识别:

  • 激活orion环境后执行:
    conda activate orion
    pip install opencv-python==3.4.11
    
  • 如果需要OpenCV contrib模块,安装对应包:
    pip install opencv-contrib-python==3.4.11
    

3. 修改项目依赖配置(临时方案)

若不想改动OpenCV安装,可修改项目的依赖文件(如requirements.txt),添加:

opencv-python @ file:///home/opc/.conda/envs/orion/lib/python3.8/site-packages/cv2

或者临时注释掉opencv-python的版本限制,但这可能带来兼容性风险,需谨慎使用。


内容的提问来源于stack exchange,提问作者Karnik Kanojia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 09:27:55