未定义的变量“py”或函数“py.command”

 

目录

 

未定义的变量“py”或函数“py.command”

Python 未安装

Windows 平台上的 Python 的 64 位/32 位版本

MATLAB 找不到 Python

在用户定义的 Python 模块中的错误

Python 模块不在 Python 搜索路径上

模块名称冲突

Python尝试在错误的模块中执行command


未定义的变量“py”或函数“py.command

在命令行窗口中键入py.command时,MATLAB®会自动加载Python®。如果MATLAB显示以下消息,则表示加载失败。

Undefined variable "py" or function "py.command"

此页面有助于对加载失败进行故障排除。

Python 未安装

计算机上未安装受支持的Python版本。请参阅您的 MATLAB 版本的,然后从 https://www.python.org/downloads/ 下载并安装Python。要在 Microsoft® Windows® 系统上安装64位MATLAB 的 2.7 版本,请选择64位Python版本,称为Windows x86-64 MSI installer。在Linux®和Mac系统上,如果从源文件编译Python,请使用 --enable-shared 选项对该编译进行配置。

Windows 平台上的 Python 的 64 位/32 位版本

 64位版本的MATLAB 安装了32 位版本的Python。必须安装Python的64位版本。

MATLAB 找不到 Python

Python位于非标准位置。要提供Python可执行文件的路径,请使用pyeny函数。例如:

pyenv('Version','C:\Users\uname\WinPython-64bit-3..2.1\python-3..2.amd64\python.exe')

在Windows系统上,在Windows注册表中找不到Python。如果下载了Python解释器,但没有在Windows注册表中注册,请使用以下命令指定Python 位置:

pyenv('Version','executable')

在用户定义的 Python 模块中的错误

用户定义的Python模块发生错误。要测试模块mymod是否包含错误,请键入:

py.importlib.import_module('mymod')

如果Python检测到该模块中有错误,则MATLAB会显示一条Python错误消息。也可以在Python命令提示符下执行等效命令,以获取该 Python 错误消息。改正错误后,要访问更新后的模块,请重新启动MATLAB,并将其添加到搜索路径中。

Python 模块不在 Python 搜索路径上

如果command是有效的Python命令,请确保Python模块在Python搜索路径上。要测试模块mymod是否在搜索路径上,请键入:

py.importlib.import_module('mymod')

如果Python找不到该模块,MATLAB将显示一条Python错误消息。

要将文件夹modpath中的mymod添加到路径,请键入:

P = py.sys.path;
if count(P,'modpath') == 0
    insert(P,int32(0),'modpath');
end

Python搜索路径与MATLAB当前会话中加载的Python解释器相关联。可以在MATLAB中修改搜索路径,但如果在MATLAB之外运行解释器的其他实例,则修改将不会保留。

模块名称冲突

如果调用的Python模块与标准库中的模块或系统上安装的任何第三方模块同名,则MATLAB可能会加载错误的模块。

Python尝试在错误的模块中执行command

如果command在用户定义的模块中,请确保该模块不与Python标准库中的模块或系统上的任何第三方模块发生名称冲突。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值