MATLAB: Calling python modules that matlab can’t import

MATLABmatpynumpyopencvpilpymexpythonpython-matlab-wormholespythoncallscikit learnscikit-imagescipy

i'm the author of this SO question. the problem came down to needing python libraries (PIL, opencv, scipy) that either:
  • depend on later versions of libraries than matlab ships (libtiff.5.dylib, libgfortran.3.dylib), or
  • include identifiers starting with underscore (_), which i guess matlab doesn't allow (why?)
what options do i have for how to proceed?
i'm guessing that attempting to compile PIL/opencv/scipy against matlab's libraries would be extremely painful.
i've found the following 3rd party python-from-matlab bridges — is this my best route?
  • matpy — numpy.ndarray integration
  • pymex — numpy.ndarray integration, less recent development, but also looks good
  • pythoncall — even older, looks less polished
  • wormholes — also old, ndarray's only, bidirectional over TCP
are there others to consider? opinions/experience on which is most promising for this scenario? i'm guessing matpy…

Best Answer

this solves it:
~$ DYLD_INSERT_LIBRARIES=/opt/local/lib/libgcc/libgfortran.3.dylib:/opt/local/lib/libtiff.5.dylib /Applications/MATLAB_R2015a.app/bin/matlab
Related Question