Можно ли запустить opencv (Python Binding) из virtualenv? - PullRequest
32 голосов
/ 07 марта 2012

Я бы хотел, чтобы все содержалось в рамках virtualenv.Это возможно с OpenCV?Я в порядке со сборкой с нуля, мне просто нужно сначала настроить virtualenv, а затем использовать специальные флаги компиляции, чтобы указать, куда устанавливать?

Ответы [ 4 ]

41 голосов
/ 20 августа 2012

Я нашел решение, заключающееся в том, что мне пришлось скопировать cv2.so и cv.py в каталог, в котором работает virtualenv, а затем установить pip install numpy. Для этого на Ubuntu 12.04 я использовал.

virtualenv virtopencv
cd virtopencv
cp /usr/local/lib/python2.7/dist-packages/cv* ./lib/python2.7/site-packages/
./bin/pip install numpy
source bin/activate
python
import cv
5 голосов
/ 13 апреля 2012

Из руководства по установке opencv :

По умолчанию система сборки OpenCV выберет самую последнюю версию Python, которую сможет найти, или вы можете заставить ее использоватьконкретная версия, использующая переменную PYTHON_EXECUTABLE при вызове cmake.)

Я только что установил ее на своем Ubuntu 11.10, в виртуальной среде env --with-no-site-package, следуя инструкциям по ссылкевыше.вам нужно собрать целый opencv.и его оболочка Python вместе.

EDIT 1:

  1. Создайте временный каталог, который мы обозначим как, куда вы хотите поместить сгенерированныйMakefiles, файлы проекта, а также объектные файлы и выходные двоичные файлы.

    cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
  2. Введите созданный временный каталог () и выполните следующие действия:

    make
    sudo make install
    

---------

после сборки и установки добавьте модули расширения в PYTHON_PATH

export PYTHONPATH=~/projects/opencv/release/lib:$PYTHONPATH
4 голосов
/ 01 июля 2016

В Debian я установил python-opencv, python-virtualenv, python-pip, а затем создал virtualenv, используя опцию --system-site-packages.

0 голосов
/ 04 декабря 2018

Это возможно, передавая исполняемый файл python в качестве аргумента cmake. Тогда я бы также предложил использовать локальную папку установки, так что вам вообще не нужен sudo. И затем, если make install не запрашивает у вас разрешения sudo, возможно, он нацелен на ваш python virtualenv.

Откройте cmakelists.txt с помощью cmake-gui, чтобы увидеть переменные python. Это также, вероятно, даст ошибку, если у вас нет numy в вашем virtualenv, так что вы знаете, что он выбирает правильный питон. Это также будет работать с независимой от версии Python, так как он создан специально для вашего исполняемого файла Python

...