centos7.8环境安装opencv-python
# 安装好python3.6.9以后要处理python3命令
# ln -s /usr/local/python-3.6.9/bin/pip3 /usr/bin/pip3 # ln -s /usr/local/python-3.6.9/bin/pip3 /usr/local/bin/pip3 # ln -s /usr/local/python-3.6.9/bin/python3 /usr/local/bin/python3
1.升级系统默认的cmake到3.9.2版本
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz tar xf cmake-3.9.2.tar.gz cd cmake-3.9.2
# 编译的时候需要直接 --prefix=/usr/local 否则编译的时候会报错 CMake Error: Could not find CMAKE_ROOT !!!
./bootstrap --prefix=/usr/local/ make -j 4 && make install
# 验证是否安装成功
# cmake --version
cmake version 3.9.2
2.安装依赖
pip3 install --upgrade setuptools pip3 install numpy Matplotlib pip3 install --upgrade pip pip3 install scikit-build pip3 install opencv-python
最终的安装信息
# pip3 list
Package Version
--------------- --------
cycler 0.10.0
distro 1.5.0
kiwisolver 1.3.1
matplotlib 3.3.4
numpy 1.19.5
opencv-python 4.5.1.48
packaging 20.9
Pillow 8.1.2
pip 21.0.1
pyparsing 2.4.7
python-dateutil 2.8.1
scikit-build 0.11.1
setuptools 54.2.0
six 1.15.0
wheel 0.36.2
验证 opencv-python安装是否成功
# python3 Python 3.6.9 (default, Sep 5 2019, 20:40:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2
调试信息
为了方便看报错信息,通过源码安装
cd /usr/local/src wget https://files.pythonhosted.org/packages/bb/08/9dbc183a3ac6baa95fabf749ddb531bd26256edfff5b6c2195eca26258e9/opencv-python-4.5.1.48.tar.gz tar xf opencv-python-4.5.1.48.tar.gz cd opencv-python-4.5.1.48 python3 setup.py install
报错1
Traceback (most recent call last): File "setup.py", line 10, in <module> import skbuild ModuleNotFoundError: No module named 'skbuild'
# 解决:
pip3 install scikit-build
# 报错2
CMake Error at CMakeLists.txt:27 (cmake_minimum_required): CMake 3.5.1 or higher is required. You are running version 2.8.12.2 -- Configuring incomplete, errors occurred! Traceback (most recent call last): File "/usr/local/python-3.6.9/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 586, in setup languages=cmake_languages File "/usr/local/python-3.6.9/lib/python3.6/site-packages/skbuild/cmaker.py", line 240, in configure os.path.abspath(CMAKE_BUILD_DIR()))) An error occurred while configuring with CMake.
解决方法:
升级cmake
cd /usr/local/src wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz tar -zxvf cmake-3.9.2.tar.gz cd cmake-3.9.2 ./bootstrap --prefix=/usr/local/ make -j 4 && make install
报错3
报错3
# 编译安装 opencv-python,方便查看报错信息
# python3 setup.py install /usr/local/python-3.6.9/lib/python3.6/site-packages/setuptools/dist.py:645: UserWarning: Usage of dash-separated 'index-url' will not be supported in future versions. Please use the underscore name 'index_url' instead % (opt, underscore_opt)) CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modules directory not found in /usr/local/share/cmake-3.6
解决办法:
安装 cmake时指定到 /usr/local 目录即可
./bootstrap --prefix=/usr/local/