Импорт matlab.engine работает в IPython, но не в Jupyter
Я только что установил MATLAB Engine API для Python в свой домашний каталог, используя
$ python setup.py build --build-base=$HOME install --prefix=$HOME
Тем не менее, когда я пытаюсьimport matlab.engine
из записной книжки Jupyter я получаю следующую ошибку:
---------------------------------------------------------------------------
EnvironmentError Traceback (most recent call last)
<ipython-input-2-833daa01cd46> in <module>()
8 import numpy as np
9 import matplotlib.pyplot as plt
---> 10 import matlab.engine
11
12 from dopa_net.behavioral_experiments.analysis_code import behavior_analysis as ba
/home/despo/dbliss/lib/matlab/engine/__init__.py in <module>()
57 pythonengine = importlib.import_module("matlabengineforpython"+_PYTHONVERSION)
58 except:
---> 59 raise EnvironmentError('The installation of MATLAB Engine for Python is '
60 'corrupted. Please reinstall it or contact '
61 'MathWorks Technical Support for assistance.')
EnvironmentError: The installation of MATLAB Engine for Python is corrupted. Please reinstall it or contact MathWorks Technical Support for assistance.
Как ни странно, я не получаю эту ошибку, когда яimport matlab.engine
из оболочки IPythonв том же каталоге, что и ноутбук Jupyter, Я не только могу импортировать движок из оболочки - он работает в оболочке, что показывает мне, что ничего не повреждено:
In [1]: import matlab.engine
In [2]: eng = matlab.engine.start_matlab()
In [3]: tf = eng.isprime(37)
In [4]: print tf
True
Есть идеи, что происходит?
Нотабене Я установил версию движка в свой домашний каталог ранее сегодня, но я попытался (и думал, что сделал) удалить его. Я предполагаю, что какая-то его часть осталась позади и вызывает проблемы. Но почему это создает проблемы только для Jupyter, а не для оболочки IPython? (И как вы думаете, я должен избавиться от этого?)
ОбновитьЯ отследил ошибку до следующей строки в__init__.py
файл дляmatlab.engine
модуль:
importlib.import_module("matlabengineforpython2_7")
которая не вызывает ошибку в оболочке IPython, но вызывает следующую ошибку в Jupyter:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-4-831d184262c4> in <module>()
----> 1 importlib.import_module("matlabengineforpython2_7")
/usr/local/anaconda-2.4.0/lib/python2.7/importlib/__init__.pyc in import_module(name, package)
35 level += 1
36 name = _resolve_name(name[level:], package, level)
---> 37 __import__(name)
38 return sys.modules[name]
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /srv/local/matlab-2015a/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../bin/glnxa64/libmwfl.so)
Я понятия не имею, что здесь происходит.