MATLAB 找不到 Python,出现未定义的变量“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 可执行文件的路径,请使用 pyenv 函数。例如:

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 标准库中的模块或系统上的任何第三方模块发生名称冲突。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值