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/