How do I install opencv with anaconda python3 , opencv picked up my python3 executables
-- Python 2:
-- Interpreter: /usr/bin/python2.7
If you want to compile opencv against a specific anaconda environment, you can specify the PYTHON_EXECUTABLE, PYTHON_INCLUDE and PYTHON_LIBRARY, PYTHON_PACKAGES_PATH, PYTHON_NUMPY_INCLUDE_DIR variables in cmake.
In the following example I have an opencv340 anaconda environment located in /home/yourself/anaconda3/envs/opencv340 and so I'll specifiy the above variables for cmake as follows:
-DPYTHON_EXECUTABLE=/home/yourself/anaconda3/envs/opencv340/bin/python3 \
-DPYTHON_INCLUDE=/home/yourself/anaconda3/envs/opencv340/include \
-DPYTHON_LIBRARY=/home/yourself/anaconda3/envs/opencv340/lib/libpython3.6m.so \
-DPYTHON_PACKAGES_PATH=/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages \
-DPYTHON_NUMPY_INCLUDE_DIR=/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages/core/include
You'll then see that opencv pick the correct python, the one in the anaconda environment of which you gave the path of.
You then copy the cv2*.so from your opencv build directory to the site-packages of your anaconda environment.
Your site-packages directory should be located somewhere like:
/home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages
You can get the actual location from a python console with:
>>> import sys
>>> print(next(p for p in sys.path if 'site-packages' in p))
Then (adapt accordingly to your case and cv2*.so actual name):
cp /path/to/your/opencv/build/directory/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so /home/yourself/anaconda3/envs/opencv340/lib/python3.6/site-packages/.
And you should be able to import cv2 from a python console.
I've just done so (ubuntu 16.04).