First time here? Check out the FAQ!

Ask Your Question
0

Compile Python3 lib of OpenCV3.0

asked Dec 4 '14

PierreBdR gravatar image

I am trying to compile the Python3 module for OpenCV using the latest version on git (Note: I also tried with the beta version and the problem is the same). Everything is done under Linux using Ubuntu 14.04.

It seems that, although CMake finds Python3, it gets ignored. More specifically, in the version_string file, I can see:

Python 2:
   Interpreter:                 /usr/bin/python2.7 (ver 2.7.6)
   Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
   numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
   packages path:               lib/python2.7/dist-packages
Python 3:
   Interpreter:                 /usr/bin/python3.4 (ver 3.4)
   Libraries:                   NO
   numpy:                       /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
   packages path:               lib/python3.4/dist-packages

Although in CMakeCache.txt I have:

//Path to Python interpretor
PYTHON3_EXECUTABLE:FILEPATH=/usr/bin/python3.4

//Python include dir
PYTHON3_INCLUDE_DIR:PATH=/usr/include/python3.4m

//Python include dir 2
PYTHON3_INCLUDE_DIR2:PATH=/usr/include/x86_64-linux-gnu/python3.4m

//Path to Python library
PYTHON3_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.4m.so

//Path to Python debug
PYTHON3_LIBRARY_DEBUG:FILEPATH=

//Path to numpy headers
PYTHON3_NUMPY_INCLUDE_DIRS:PATH=/usr/lib/python3/dist-packages/numpy/core/include

//Where to install the python packages.
PYTHON3_PACKAGES_PATH:PATH=lib/python3.4/dist-packages

Any idea what may be hapenning?

Preview: (hide)

1 answer

Sort by » oldest newest most voted
1

answered May 7 '15

Alprobit gravatar image

updated May 9 '15

I had the same problem with opencv-3.0.0-beta and opencv-3.0.0-rc1.

Working solution for me with cmake-gui tool:

  1. the build directory MUST BE empty (otherwise I always got "Libraries: NO" for Python3 even through specify direct path to library)
  2. set source code directory and build directory paths
  3. add new entries (usgin "Add entry" button) that has to have non-default values (e.g., OPENCV_EXTRA_MODULES_PATH:PATH=../opencv_contrib/modules for extra modules)
  4. press configure only once
  5. if configuration satisfies your requirements (including Python 3 Libraries path correctness) then press generate otherwise go to step 1 (in the step 3 add necessary options).

After that run make -j6 and make install. After that I got working cv2 module for both python2 and python3.

Preview: (hide)

Comments

you're right, thanks!!!!

craigstar gravatar imagecraigstar (May 8 '18)edit

Can you tell us which new entries are needed?

lawrencem gravatar imagelawrencem (Aug 28 '19)edit

Question Tools

Stats

Asked: Dec 4 '14

Seen: 9,404 times

Last updated: May 09 '15