是否可以从virtualenv运行opencv(python绑定)?

xam*_*mox 32 python opencv distribution vision virtualenv

我想保留virtualenv中包含的所有内容.这可能与OpenCV有关吗?我可以从头开始构建,我只需要首先设置virtualenv然后使用特殊的编译标志来告诉它安装到哪里?

xam*_*mox 41

我发现解决方案是我必须将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
Run Code Online (Sandbox Code Playgroud)

  • 但这并不能真正帮助您实现自动部署吗?因为您仍需要为您的特定系统提供正确的.so文件. (2认同)

pyl*_*ver 5

来自opencv 安装指南:

默认情况下,OpenCV构建系统将选择它可以找到的最新版本的Python,或者您可以在调用cmake时强制它使用PYTHON_EXECUTABLE变量来使用特定版本.)

我刚刚按照上面链接上的说明将它安装在我的ubuntu 11.10上的虚拟env --with-no-site-package上.你需要构建完整的opencv.和它的python包装在一起.

编辑1:

  1. 创建一个临时目录,我们将其表示为,您要将生成的Makefile,项目文件以及目标文件和输出二进制文件放在哪里.

    cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    Run Code Online (Sandbox Code Playgroud)
  2. 输入创建的临时目录()并继续:

    make
    sudo make install
    
    Run Code Online (Sandbox Code Playgroud)

---------

在构建和安装之后,在PYTHON_PATH上添加扩展模块

export PYTHONPATH=~/projects/opencv/release/lib:$PYTHONPATH
Run Code Online (Sandbox Code Playgroud)


yuv*_*val 5

在 Debian 上,我安装了 python-opencv、python-virtualenv、python-pip,然后使用选项 --system-site-packages 创建了一个 virtualenv。