我正在创建一个用于研究的Matlab工具箱,我需要执行Matlab代码以及Python代码。
我想允许用户从Matlab执行Python代码。问题是,如果我立即执行,我将不得不在Python的环境中安装所有内容,我想使用virtualenv来避免这种情况。问题是我不知道如何告诉Matlab用户创建虚拟环境。
答案 0 :(得分:6)
您可以在从MATLAB调用python之前在MATLAB中修改PATH
环境变量
% Modify the system PATH so it finds the python executable in your venv first
setenv('PATH', ['/path/to/my/venv/bin', pathsep, getenv('PATH')])
% Call your python script
system('python myscript.py')
或者更好的方法是指定python二进制文件的完整路径
system('/path/to/my/venv/bin/python myscript.py')
答案 1 :(得分:0)
正如@ tales-pádua在评论中所建议的那样,您可以使用pyversion命令设置您正在使用的Python可执行文件的路径(在尝试从Matlab调用python之前)。
可以使用matlabrc.m文件自动执行此操作:
python = '.local/bin/python';
if exist(python, 'file')
pyversion(python)
end