我希望所有东西都能保留在virtualenv中。对于OpenCV是否可以实现这一点,我并不清楚。如果需要从头开始构建,我是否只需先设置virtualenv,然后使用特殊的编译标志来指示安装位置即可?
我希望所有东西都能保留在virtualenv中。对于OpenCV是否可以实现这一点,我并不清楚。如果需要从头开始构建,我是否只需先设置virtualenv,然后使用特殊的编译标志来指示安装位置即可?
我发现解决方法是我需要将cv2.so和cv.py复制到运行虚拟环境的目录下,然后使用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
sudo apt-get install python-opencv
来安装这个包。显然,cv2.so和cv.py位于/usr/lib/python2.7/dist-packages/
下。只是让你们知道一下(Ubuntu 15.04 LTS)。 - TimCreate a temporary directory, which we denote as , where you want to put the generated Makefiles, project files as well the object files and output binaries.
cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
Enter the created temporary directory () and proceed with:
make
sudo make install
export PYTHONPATH=~/projects/opencv/release/lib:$PYTHONPATH
通过将Python可执行文件作为参数传递给cmake,可以实现这一点。我建议您使用本地安装文件夹,这样您根本不需要sudo权限。然后,如果make install没有要求您提供sudo权限,那么它可能会针对您的虚拟环境Python。
使用cmake-gui打开cmakelists.txt以查看Python变量。如果您的虚拟环境中没有numpy,则还可能出现错误,因此您知道它正在选择正确的Python。这也适用于独立于Python版本的情况,因为它是专门为您的Python可执行文件构建的。