jetson nano/TX1安装opencv3.4.x无法找到archiconda3下的python3和PYTHON3_LIBRARIES

一、错误详情

  • 环境: Jetson nano/TX1 Ubuntu18
  • 错误信息
    1. 使用install_opencv-3.4.6.sh脚本安装opencv时,无法找到archiconda3下的python3;
    2. 无法找到archiconda3下的PYTHON3_LIBRARIES;
      错误详情

二、原因分析

2.1 无法找到archiconda3下的python3

没有配置archiconda3的环境变量导致的,默认使用系统python3的相关环境;

2.2 无法找到archiconda3下的PYTHON3_LIBRARIES;

在运行cmke时,没有配置PYTHON3_LIBRARIES的环境变量,默认使用系统python3的相关环境;

三、解决方法

3.1 无法找到archiconda3下的python3

配置用户目录下的.bashrc,导入archiconda3环境变量;

  • 修改环境变量,vim ~/.bashrc,添加以下内容,路径中注意修改为自己的用户名
# add Archiconda3 0.2.1 
export PATH="/home/walt/archiconda3/bin:$PATH"

# cuda
export PATH="$PATH:/usr/local/cuda-10.0/bin"
  • 使环境变量生效source ~/.bashrc

3.2 无法找到archiconda3下的PYTHON3_LIBRARIES;

  • 修改cmake命令

相比原来的命令,增加了python3 libraries的指定

      -D PYTHON3_LIBRARY_DEBUG=ON \
      -D PYTHON3_LIBRARIES=/home/walt/archiconda3/lib/libpython3.so \
      -D PYTHON3_PACKAGES_PATH=/home/walt/archiconda3/lib/python3.6/site-packages \
      -D PYTHON3_INCLUDE_PATH=/home/walt/archiconda3/include \

完整命令如下:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D WITH_CUDA=ON -D CUDA_ARCH_BIN=5.3 -D CUDA_ARCH_PTX="" \
      -D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON \
      -D ENABLE_NEON=ON -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON \
      -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON \
      -D PYTHON3_LIBRARY_DEBUG=ON \
      -D PYTHON3_LIBRARIES=/home/walt/archiconda3/lib/libpython3.so \
      -D PYTHON3_PACKAGES_PATH=/home/walt/archiconda3/lib/python3.6/site-packages \
      -D PYTHON3_INCLUDE_PATH=/home/walt/archiconda3/include \
      -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \
      -D WITH_QT=ON -D WITH_OPENGL=ON ..
  • 重新运行以上cmake命令
    正常找到archiconda3下的PYTHON3_LIBRARIES
    修复后结果

参考文献

  1. stackoverflow ERROR: OpenCV CMake could NOT find PythonLibs found unsuitable version Ubuntu
发布了21 篇原创文章 · 获赞 46 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章