运行OMPython的OMCSessionZMQ()报系统找不到指定文件错误
问题描述
运行OMPython复现OpenModelica官方示例代码时触发运行错误:
- 第一行导入代码可正常执行:
from OMPython import OMCSessionZMQ
- 执行第二行会话初始化代码时:
omc = OMCSessionZMQ()
程序抛出如下报错:FileNotFoundError: [WinError 2] The system cannot find the file specified
已尝试配置相关环境变量,但无法确认配置是否正确,寻求同类问题的解决方法。
解决方法
这个报错的核心原因是OMPython找不到omc.exe可执行程序,按以下步骤排查即可:
- 先确认OpenModelica已完整安装:打开OpenModelica默认安装目录(通常为
C:\Program Files\OpenModelica<对应版本号>\bin),检查目录下是否存在omc.exe文件,如果文件不存在直接卸载后重新安装对应版本的OpenModelica完整安装包即可。 - 校验环境变量配置:
- 打开系统环境变量设置面板,在系统变量的
Path条目中新增上述OpenModelica的bin目录完整路径,注意路径要精确到bin层级,不要拼写错误。 - 配置完成后必须完全关闭当前所有打开的终端、代码编辑器窗口后重新启动,新启动的程序才会加载更新后的环境变量,在原有窗口内重复运行代码无法读取到新配置。
- 打开系统环境变量设置面板,在系统变量的
- 不想配置全局环境变量的话,可以在初始化会话时手动传入omc.exe的绝对路径,代码示例如下:
from OMPython import OMCSessionZMQ # 将路径替换为本地omc.exe的实际存放路径 omc = OMCSessionZMQ(omc_path=r"C:\Program Files\OpenModelica1.22.0\bin\omc.exe")
- 额外注意:如果安装OpenModelica时选择了「仅当前用户可用」,对应的安装路径会在当前用户的AppData目录下,不要误填系统级Program Files下的不存在路径。
内容的提问来源于stack exchange,提问作者HCroll
相关产品推荐
相关产品推荐

