Как вы можете заставить pip 'видеть' локально построенную из исходной установки OpenCV? - PullRequest
0 голосов
/ 06 февраля 2019

Сборка opencv из исходного кода означает, что, хотя он правильно установлен, пакет python opencv не зарегистрирован в pip и, следовательно, не может быть найден при запуске pip list или pip show opencv-python или, например,.Как я могу получить pip, чтобы «увидеть» мой локально собранный opencv?

В целях оптимизации мне пришлось собирать opencv из исходного кода, поэтому запуск pip install opencv-python opencv-contrib-python здесь не вариант.Даже если import cv2 работает независимо от того, что именно, поскольку пакет вручную копируется в пакеты системного сайта с помощью cmake, проблема возникает, когда я собираю / разрабатываю локальные пакеты Python.Чтобы дать некоторый контекст, мой setup.py выглядит так:

setup(..., 
      install_requires=[...,'opencv-python', 'opencv-contrib-python'],
      ...,
)

Итак, когда вы pip install -e ., opencv-contrib и opencv не видны pip и установлены, перезаписывает мои изисходная сборка.Теперь я могу просто pip uninstall opencv-python opencv-contrib-python, но мне действительно не нужно делать это каждый раз, особенно во время разработки, когда я мог запускать эту команду несколько раз.Мне нужен pip, чтобы «увидеть», что opencv-python и opencv-contrib-python уже существуют в моих системных системных пакетах по умолчанию, чтобы он не просто устанавливал их снова.

Для справки, я запускаю Arch 4.20,с cuda 10.0 на gtx1070 MaxQ, и вот моя команда cmake для сборки opencv:

cmake -D CMAKE_BUILD_TYPE=Release \
      -D CMAKE_INSTALL_PREFIX=/opt/opencv \
      -D CMAKE_EXE_LINKER_FLAGS=-lcblas \
      -D OPENCV_EXTRA_MODULES_PATH=/home/*user*/builds/opencv/opencv_contrib-3.4/modules \
      -D WITH_CUDA=ON \
      -D WITH_CUBLAS=ON \
      -D WITH_TBB=OFF \
      -D WITH_V4L=ON \
      -D WITH_GTK+=ON \
      -D WITH_HDF5=ON \
      -D WITH_XINE=ON \
      -D WITH_QT=OFF \
      -D WITH_OPENGL=ON \
      -D WITH_OPENCL=ON \
      -D WITH_FFMPEG=ON \
      -D BUILD_opencv_python3=ON \
      -D BUILD_opencv_python2=ON \
      -D BUILD_PERF_TESTS=OFF \
      -D BUILD_TESTS=OFF \
      -D BUILD_opencv_cudacodec=OFF \
      -D CMAKE_CXX_COMPILER=/bin/g++-7 -L/opt/cuda/lib64/ -lcublas \
      -D CUDA_NVCC_FLAGS=-ccbin g++-7 -L/opt/cuda/lib64/ -lcublas --expt-relaxed-constexpr -std=c++11 \
      -D CUDA_HOST_COMPILER=/usr/bin/g++-7 \
      -D CMAKE_CXX_FLAGS=-std=c++11 -L/opt/cuda/lib64/ -lcublas \
      -D CUDA_NVCC_FLAGS=-D_FORCE_INLINES -std=c++11 --expt-relaxed-constexpr \
      -D BUILD_opencv_java=OFF \
      -D CUDA_GENERATION=Pascal \
      -D WITH_OPENMP=ON \
      -D BUILD_DOCS=OFF \
      ..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...