Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab.engine的导入在IPython中工作,但在Jupyter中不工作_Python_Matlab_Ipython_Jupyter_Jupyter Notebook - Fatal编程技术网

matlab.engine的导入在IPython中工作,但在Jupyter中不工作

matlab.engine的导入在IPython中工作,但在Jupyter中不工作,python,matlab,ipython,jupyter,jupyter-notebook,Python,Matlab,Ipython,Jupyter,Jupyter Notebook,我刚刚使用 $ python setup.py build --build-base=$HOME install --prefix=$HOME 但是,当我尝试从Jupyter笔记本中导入matlab.engine时,出现以下错误: --------------------------------------------------------------------------- EnvironmentError Traceback (most

我刚刚使用

$ python setup.py build --build-base=$HOME install --prefix=$HOME
但是,当我尝试从Jupyter笔记本中导入matlab.engine时,出现以下错误:

---------------------------------------------------------------------------
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.
知道发生了什么事吗

注意:今天早些时候,我确实在我的主目录中安装了一个版本的引擎,但我尝试(并且认为我确实)卸载了它。我的猜测是,它的一部分被抛在了后面,正在制造麻烦。但为什么它只会给Jupyter带来麻烦,而不会给IPython shell带来麻烦呢?(你觉得我该怎么摆脱它?)

使现代化 我在
matlab.engine
模块的
\uuuu init\uuuu.py
文件中将错误跟踪到以下行:

importlib.import_module("matlabengineforpython2_7")
这不会在IPython shell中引发错误,但会在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)
---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
在()
---->1导入lib.import_模块(“matlabengineforpython2_7”)
/导入模块(名称、包)中的usr/local/anaconda-2.4.0/lib/python2.7/importlib/_uinit__;.pyc
35级+=1
36名称=_解析_名称(名称[级别:],包,级别)
--->37.进口(名称)
38返回系统模块[名称]
导入错误:/usr/lib64/libstdc++.so.6:找不到版本'GLIBCXX_3.4.15'(由/srv/local/matlab-2015a/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../bin/glnxa64/libmwfl.so要求)

我不知道这里发生了什么。

关于IPython Shell和Jupyter笔记本无法访问相同的C库的假设似乎是正确的。为什么会这样,我不知道。这两个版本是作为同一个包的一部分安装的,使用相同版本的Python等等

将以下行添加到我的
.bashrc
shell配置文件中修复了该问题:

export LD_LIBRARY_PATH=XXX

其中
XXX
是包含
libstdc++版本的目录。因此.6
我希望Jupyter笔记本使用(而且IPython Shell已经使用过)。

我现在有点不知所措了:
importlib.import_模块(“matlabengineforpython2_7”)
现在引发了一个错误(带有不同的消息)在shell中--但是
import matlab.engine
仍在shell中工作。^ah,对上述差异的解释是,
importlib.import\u模块
命令仅在
import matlab.engine
之前已执行的情况下才能在shell中工作。^已添加到
sys.path
。我对整个问题原因的最佳猜测是,出于某种原因,ipython外壳和笔记本无法访问相同的C库。不过,我不知道如何检查或更改这个。
export LD_LIBRARY_PATH=XXX