Running matlab python interface in Jupyter Notebook throws weird error

5 Ansichten (letzte 30 Tage)
I'm trying to run the python matlab interface in the jupyter notebook. The simple import statement works in the terminal in the same directory as the notebook, but it does not work in the notebook itself. When I try
import matlab.engine
I get a long error message, which contains: ImportError: /home/alexander/anaconda3/lib/python3.5/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/MATLAB/R2017a/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../bin/glnxa64/libmx.so)
I found this post, which said to set LD_LIBRARY_PATH to the location of libstdc++.so.6, which on my system is /usr/lib/x86_64-linux-gnu: http://stackoverflow.com/questions/36076395/import-of-matlab-engine-works-in-ipython-but-not-in-jupyter
I tried doing this, but I got the same error message. Any help is appreciated. Thanks.

Akzeptierte Antwort

Bo Li
Bo Li am 22 Mär. 2017
Probably the version of Jupyter uses an older version of GCC. You may consider forcing Jupyter to use MATLAB version of GCC runtime libraries, which are newer.
How is how I worked around it:
1. Back up the C runtime library and standard library from the library folder of anaconda, for example in "~/anaconda3/lib":
% mkdir backup
% mv libgcc_s* backup/
% mv libstdc++.so* backup/
2. Set up the LD_LIBRARY_PATH before launching Jupyter Notebook, for example with csh in "~/anaconda3/bin":
% setenv LD_LIBRARY_PATH /local/MATLAB/R2017a/sys/os/glnxa64/
% ./jupyter notebook
3. Create a Python notebook from the Jupyter Notebook browser and run following:
import matlab.engine

Weitere Antworten (0)

Kategorien

Mehr zu Integration with Online Platforms finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by