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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章