在 OSX 上使用 python 3.5.0 使用 pyenv 编译 OpenCV3

Compiling OpenCV3 with pyenv using python 3.5.0 on OSX

我花了一些时间才弄明白,所以我想我应该把它写下来。

通过 pyenv 安装 python 支持共享库:

env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.5.0

创建一个名为 opencv 的新虚拟环境

pyenv virtualenv 3.5.0 opencv

激活virtualenv并安装numpy

pyenv activate opencv
pyenv rehash
pip install numpy

克隆 opencv 和 opencv_contrib 并将其放入 ~/

cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.1.0

cd ~
git clone https://github.com/Itseez/opencv_contrib
cd opencv_contrib
git checkout 3.1.0

cd ~/opencv
mkdir build
cd build

运行 CMake 并安装

PREFIX_MAIN=`pyenv virtualenv-prefix`
PREFIX=`pyenv prefix`
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX="$PREFIX" \
    -D PYTHON3_EXECUTABLE="$PREFIX"/bin/python3.5 \
    -D PYTHON3_PACKAGES_PATH="$PREFIX"/lib/python3.5/site-packages \
    -D PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.5m.dylib \
    -D PYTHON3_INCLUDE_DIR="$PREFIX_MAIN"/include/python3.5m \
    -D PYTHON3_NUMPY_INCLUDE_DIRS="$PREFIX"/lib/python3.5/site-packages/numpy/core/include \
    -D INSTALL_C_EXAMPLES=OFF \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_NAME_DIR=${CMAKE_INSTALL_PREFIX}/lib \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..

make -j8

make install

注意:如果您使用的是python 3.5.2,则需要更改

PYTHON3_EXECUTABLE="$PREFIX"/bin/python3
PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.5m.a

来源:基本上将这些指南混合在一起: