kedro作为python命令而不是命令行运行

2024-04-25 13:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开始使用Kedro,所以我为默认的iris数据集创建了新的Kedro项目

我能够用kedro run命令成功地运行它。我现在的问题是如何将其作为python命令运行?从文档中我看到命令kedro run运行src/project-name/run.py。但是,如果我运行run.py,我会得到ModuleNotFoundError: No module named 'iris_workflow'。如果从src/project-name/cli.py运行run方法,则会出现相同的错误

如果我在终端中运行kedro run,一切正常

如何在没有subprocess.run()的情况下从python脚本运行kedro run。如果我在脚本中导入run.pycli.py并运行它,我会得到相同的错误ModuleNotFoundError: No module named 'iris_workflow'

这是我用kedro new --starter=pandas-iris创建的默认工作流


Tags: norunnamepy命令srcprojectiris
1条回答
网友
1楼 · 发布于 2024-04-25 13:22:09

问题在于项目python包所在的src/文件夹不在python路径上,因此如果您首先修改PYTHONPATH,您将能够运行run.py

~/code/kedro/test-project
test-project ❯ PYTHONPATH=$PYTHONPATH:$pwd/src python3 src/test_project/run.py

为了更具体地回答您的问题,如果您想从Python脚本运行Kedro,您可以这样做:

import sys

sys.path.append("<path-to-your-project-src")
with KedroSession.create(package_path.name) as session:
    session.run()

相关问题 更多 >

    热门问题