从Python虚拟环境中调用Matlab

3
我可以从我的系统python中调用MATLAB:
>>> import matlab.engine
>>> 

但是,当我加载虚拟环境时,现在会出现“段错误”:

>>> import matlab.engine
Segmentation fault: 11

我已经按照setup.py安装说明分别为系统Python和虚拟环境运行了该工具。我原本以为像这个问题一样,明确设置DYLD_LIBRARY_PATH就可以解决,但是当我运行系统Python时,我并没有设置这个环境变量。
两个Python实现之间可能有什么不同导致了这个段错误?
编辑: 我正在使用OS X Yosemite操作系统,一台Late 2013年生产的13英寸Macbook Pro电脑。我正在使用来自最近安装的虚拟环境(而非虚拟机)的Python 2.7。

我遇到了同样的问题。你有解决过吗? - RYS
不是 - 我只是停止尝试运行Matlab了。 - Nick Sweet
3个回答

1

尝试格式化你的答案/代码,使其更易读。 - M--
有人在 macOS 上成功运行过吗?macOS 似乎总是想使用 mwpython,但我无法弄清如何在 venv 中使用它。 - phoenix

0

我在虚拟环境下运行了 "python setup.py install" 命令,路径为 matlabroot\extern\engines\python。需要注意的是,我确实使用了 venv


0

我已经成功地通过venv运行了Matlab 2019b。我使用的命令是:sudo python3.7 setup.py install --prefix="/home/ubuntu/alexandros/vitrualEnv/py37

你必须提供完整环境的路径。在我的情况下,它是/home/ubuntu/alexandros/vitrualEnv/py37/。在虚拟环境中,你会看到:

image

然后你需要进入lib文件夹并选择你已安装的版本。例如,我的版本是3.7,这就是为什么我有python3.7而不是python3。你可能会在lib文件夹中有几个python文件夹,比如:

image

然而,你必须使用主要的那一个。在这个文件夹里,你会看到类似于这样的东西:

image


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接