对于Python 3.7 MATLAB引擎API

66(30天)
我想从我的Python脚本调用Matlab脚本。我已经安装了Python的MATLAB引擎API。我用Matlab和Python的64位版本。我使用Python 3.7.4。根据这个,应该支持:万博1manbetx
然而,当我试着编译这个代码:
进口matlab.engine
eng = matlab.engine.start_matlab ()
eng.main (nargout = 0)
我把这些错误消息:
回溯(最近的电话):
文件“C: \用户\ psvendsen \ AppData \本地Python \ Python37 \ lib \程序\ \网站\ matlab引擎\ \ __init__ . py”、线45,在<模块>
pythonengine = importlib.import_module (“matlabengineforpython”+_PYTHONVERSION)
文件“C: \用户\ psvendsen \ AppData \本地Python \程序\ \ Python37 \ lib \ importlib \ __init__ . py”、线127年,在import_module
返回_引导。_gcd_import(名称[:],包级别)
文件“<冻importlib._bootstrap >”、线1006年,在_gcd_import
文件“<冻importlib._bootstrap >”、线983年,在_find_and_load
文件“<冻importlib._bootstrap >”、线965年,在_find_and_load_unlocked
ModuleNotFoundError:没有模块名为“matlabengineforpython3_7”
处理上述例外,另一个异常发生:
回溯(最近的电话):
文件“C: \用户\ psvendsen \ AppData \本地Python \ Python37 \ lib \程序\ \网站\ matlab引擎\ \ __init__ . py”、线61年,在<模块>
pythonengine = importlib.import_module (“matlabengineforpython”+_PYTHONVERSION)
文件“C: \用户\ psvendsen \ AppData \本地Python \程序\ \ Python37 \ lib \ importlib \ __init__ . py”、线127年,在import_module
返回_引导。_gcd_import(名称[:],包级别)
文件“<冻importlib._bootstrap >”、线1006年,在_gcd_import
文件“<冻importlib._bootstrap >”、线983年,在_find_and_load
文件“<冻importlib._bootstrap >”、线967年,在_find_and_load_unlocked
文件“<冻importlib._bootstrap >”、线670年,在_load_unlocked
文件“<冻importlib._bootstrap >”、线583年,在module_from_spec
文件“<冻importlib._bootstrap_external >”、线1043年,在create_module
文件“<冻importlib._bootstrap >”、线219年,在_call_with_frames_removed
ImportError: DLL加载失败:该参数是不正确的。
处理上述例外,另一个异常发生:
回溯(最近的电话):
文件“C: \ \ psvendsen \ OneDrive用户——修订军事\桌面\ \ main.py Python-Matlab桥”、线10,在<模块>
进口matlab.engine
文件“C: \用户\ psvendsen \ AppData \本地Python \ Python37 \ lib \程序\ \网站\ matlab引擎\ \ __init__ . py”、线64年,在<模块>
“MathWorks技术支持援助:% s”万博1manbetx% e)
OSError:请重新安装MATLAB引擎MathWorks Python或联系技术支持援助:DLL加载失败:该参数是不正确的。万博1manbetx
(在0.8秒完成)
知道什么是错误的吗?
1评论
iSinnerman
iSinnerman 2019年12月7日
我使用Python 3.6.8解决了这个
一个搜索显示,你需要使用相同的Matlab和Python的版本,如两个32位或64位。我检查我的Matlab版本和64位。当时我使用Python 3.7 64位,所以我决定尝试Python 3.6.8和一切都按照API在Matlab上安装指令。我还发现,我必须安装Python与自定义选项(按另一篇文章),安装系统管理员- >自定义选项- >另外检查所有用户并添加Python环境变量- >安装。你可以检查是否安装Python Matlab需要被安装,通过键入Python在windows命令提示符,看看它是否正常启动Python。

登录置评。

接受的答案

彼得·斯文森主持
彼得·斯文森主持 2019年8月7日
我发现解决方案在另一个网站:
Matlab内核还应该安装。
皮普安装matlab_kernel
然后在文件 /usr/local/lib/python3.7/site-packages / matlab /发动机/ __init__ . py 评论 不支持Python提高EnvironmentError (“% s”。万博1manbetx% _version) 并添加 _PYTHONVERSION = 3 _6 。结果:
如果_版本_万博1manbetxsupported_versions:
_PYTHONVERSION =_版本
其他的:
_PYTHONVERSION =‘3’_6
#提高EnvironmentError (“不支持Python % s。”万博1manbetx% _version)
3评论
quanli
quanli 2020年7月29日
亲爱的先生
你解决了错误吗?我遇到了同样的错误。

登录置评。

答案(1)

德米特里•Boltyanskiy
德米特里•Boltyanskiy 2020年7月9日
我有移动运营商
进口matlab.engine
脚本的第一行,做出好的结果。
之前的脚本在IDE PyCharm工作。但是脚本在终端显示这个错误当我启动了。
1评论
壁花
壁花 2021年1月2日
同样的对我来说。谢谢!

登录置评。

类别

找到更多的在从Python调用MATLAB帮助中心文件交换

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!