Я хотел бы сохранить все, что содержится в virtualenv. Возможно ли это с OpenCV? Я в порядке со зданием с нуля, мне просто нужно сначала настроить виртуальный диск, а затем использовать специальные флаги компиляции, чтобы сообщить, где его установить?
Можно ли запустить opencv (привязку python) из virtualenv?
Ответ 1
Я нашел решение, что мне пришлось копировать файлы cv2.so и cv.py в каталог, на котором запущен virtualenv, а затем установить 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
Ответ 2
Из opencv установить руководство:
По умолчанию система сборки OpenCV выберет самую последнюю версию Python, которую она может найти, или вы можете заставить ее использовать определенную версию, используя переменную PYTHON_EXECUTABLE при вызове cmake.)
Я только что установил его на своем ubuntu 11.10, на виртуальном env --with-no-site-package, следуя инструкциям по ссылке выше. вам нужно построить весь opencv. и его оболочку python вместе.
РЕДАКТИРОВАТЬ 1:
-
Создайте временный каталог, который мы обозначим как, где вы хотите поместить созданные файлы Makefile, файлы проекта, а также файлы объектов и выходные двоичные файлы.
cd ~/opencv mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
-
Введите созданный временный каталог() и выполните следующие действия:
make sudo make install
---------
после сборки и установки добавьте модули расширения на PYTHON_PATH
export PYTHONPATH=~/projects/opencv/release/lib:$PYTHONPATH
Ответ 3
В Debian я установил python-opencv, python-virtualenv, python-pip, а затем создал virtualenv, используя опцию --system-site-packages.
Ответ 4
Это возможно, передав исполняемый файл python в качестве аргумента cmake. Я также предложил бы использовать локальную папку установки, поэтому вам вообще не нужно sudo. И тогда, если make install не запрашивает у вас разрешения sudo, возможно, это будет нацеливание на ваш виртуальный python.
Откройте cmakelists.txt с cmake-gui, чтобы увидеть переменные python. Вероятно, это также приведет к ошибке, если у вас нет numpy в вашем virtualenv, так что вы знаете, что выбрали правильный питон. Это также будет работать независимо от версии python, так как она специально создана для вашего исполняемого файла python.