You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kedro升级0.17.3后EMR执行kedro run提示无run命令求助

Kedro 0.16.2升级0.17.3报Error: No such command 'run'解决方案

触发场景

该问题仅在EMR环境出现,本地执行正常(仅报预期内的S3连接错误),属于跨环境配置不一致类问题。

排查&解决步骤

  • 优先确认EMR环境的Kedro版本匹配
    首先排查是否调用了EMR预装的全局旧版本Kedro,执行which kedro确认命令路径是否在你项目对应的虚拟环境目录下。如果是全局路径,你可以选择激活项目虚拟环境后再执行命令,或者直接使用你在setup.py中定义的项目专属入口命令kedro-project run替代全局kedro run。
  • 补全项目根目录的pyproject.toml配置
    Kedro从0.17版本开始强制要求项目根目录存在pyproject.toml文件用于识别项目配置,本地有该文件但部署到EMR时漏传是该类跨环境报错的高发原因。文件配置示例如下:
    [tool.kedro]
    package_name = "kedro-package"
    project_name = "你的项目名称"
    kedro_init_version = "0.17.3"
    
  • 修正cli.py的命令注册逻辑
    你当前的cli.py没有正确注册Kedro官方提供的项目命令组,导致run命令无法被识别,cli.py参考写法如下:
    import click
    from kedro.framework.cli.project import project_group
    from kedro.framework.cli.utils import KedroCliError
    
    @click.group(name="Kedro项目CLI")
    def cli():
        pass
    
    # 注册Kedro官方项目命令(含run、install等常用命令)
    cli.add_command(project_group)
    
    def run():
        try:
            cli()
        except KedroCliError as e:
            click.echo(e, err=True)
    
  • 确认EMR上已正确安装项目包
    在EMR的项目根目录执行pip install -e .,完成项目的可编辑模式安装,确保自定义CLI入口和配置被Python环境正确识别。

内容的提问来源于stack exchange,提问作者Sandeep Gunda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:15:01