3

我可以从我的系统 python 调用 MATLAB:

>>> import matlab.engine
>>> 

但是当我加载一个虚拟环境时,我现在得到一个段错误:

>>> import matlab.engine
Segmentation fault: 11

我已经为系统 python 和我的虚拟环境运行了setup.py 安装说明。

我期待像这样的问题,我必须DYLD_LIBRARY_PATH明确设置会解决问题,但是当我运行我的系统 python 时,我没有设置那个环境变量。

导致此段错误的两个 python 实现之间可能有什么不同?

编辑:我在 2013 年末的 13" Macbook Pro 上使用 OS X Yosemite。我在新安装的虚拟环境(不是虚拟机)中使用 Python 2.7。

4

3 回答 3

0

我在我的虚拟环境处于活动状态时运行了“ python setup.py install” 。matlabroot\extern\engines\python请注意,我确实使用了venv.

于 2018-02-22T15:58:08.783 回答
0

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

您必须提供通向完整环境的路径。就我而言,它是 /home/ubuntu/alexandros/vitrualEnv/py37/. 在虚拟环境里面,你会看到

图片

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

图片

但是,您必须使用主要的那个。在此文件夹中,您将看到与此类似的内容:

图片

于 2020-10-13T08:22:53.200 回答
0

我这样做了:

cd "matlabroot\extern\engines\python"
python setup.py install --prefix="installdir"

installdir是我的 virtualenv,matlabrootMatLab 安装的目录。

到目前为止,似乎可以与我的 Windows 服务器一起使用,非常好。

参考这里:

https://www.mathworks.com/help/matlab/matlab_external/install-matlab-engine-api-for-python-in-nondefault-locations.html

于 2017-04-17T19:27:00.973 回答