sudo apt update
sudo apt upgrade
安装依赖
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
tar zxvf Python-3.7.9.tgz #解压
cd Python-3.7.9
sudo mkdir -p /usr/local/python3.7 #建立安装目录
#后面加上 --enable-optimizations 会自动安装pip3及优化配置
#--enable-shared 用于生成libpython库
./configure --prefix=/usr/local/python3.7 --enable-optimizations --enable-shared
make -j8 # -j8会加速,但测试可能会很慢推荐下面这个
make -C ~/Python-3.7.9(Python安装包解压后的根目录) -j8 build_all
sudo make install
#添加python3的软链接
sudo ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
#添加 pip3 的软链接
sudo ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3.7
#如果直接运行python3.7可能会出现bug
#python3.7: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
#那么请完成以下操作
cp /usr/local/python3.7/lib/libpython3.7m.so.1.0 /usr/lib/
sudo ldconfig
python3.7 -V
pip3.7 -V
参考:https://www.jianshu.com/p/8fd19e45e01b
sudo apt update
sudo apt install build-essential cmake pkg-config
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
cd OpenCV所在目录
mkdir build
cd build
然后是cmake的配置命令
cmake -D CMAKE_BUILD_TYPE=Release \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_opencv_python3=ON \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_FFMPEG=ON \
-D PYTHON_DEFAULT_EXECUTABLE="/usr/local/python3.7/bin/python3.7" \
-D PYTHON3_EXECUTABLE=$(which python3.7) \
-D PYTHON3_INCLUDE_DIR=$(python3.7 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-D PYTHON3_INCLUDE_DIR2=$(python3.7 -c "from os.path import dirname; from distutils.sysconfig import get_config_h_filename; print(dirname(get_config_h_filename()))") \
-D PYTHON3_LIBRARY=/usr/local/python3.7/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.a \
-D PYTHON3_NUMPY_INCLUDE_DIRS=$(python3.7 -c "import numpy; print(numpy.get_include())") \
-D PYTHON3_PACKAGES_PATH=$(python3.7 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") ..
上述命令需要在build文件夹中运行。
注意上述命令中,需在建立了python3.7的软连接之后进行。
PYTHON3_LIBRARY后面的目录需是python3.7的安装目录。
如果出问题请直接删除build文件夹然后重新建build文件夹。
make -j8 #多线程编译 加速
sudo make install
sudo ldconfig
cmake -D CMAKE_BUILD_TYPE=Release -D WITH_CUBLAS=0 -D WITH_CUDA=OFF -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON_VERSION=309 -D PYTHON_DEFAULT_EXECUTABLE=/home/nvidia/Practical-RIFE-new-main/venv/bin/python -D PYTHON3_PACKAGES_PATH=/home/nvidia/Practical-RIFE-new-main/venv/lib/python3.9/site-packages -D PYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -D PYTHON3_INCLUDE_DIR2=$(python -c "from os.path import dirname; from distutils.sysconfig import get_config_h_filename; print(dirname(get_config_h_filename()))") -D PYTHON3_LIBRARY=/usr/lib/libpython3.9.so.1.0 -D PYTHON3_NUMPY_INCLUDE_DIRS=$(python -c "import numpy; print(numpy.get_include())") -D BUILD_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXMAPLES=OFF -D WITH_LIBV4L=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/nvidia/Practical-RIFE-new-main/opencv-4.9.0/opencv_contrib-4.9.0/modules/ -D WITH_OPENGL=OFF ..