ModuleNotFoundError while 运行 apache beam job in dataflow using setup.py

ModuleNotFoundError while running apache beam job in dataflow using setup.py

我有一个 apache beam 管道,我曾经提交给 google 数据流并且它运行成功。随着时间的推移,我的代码不断增长,我想将其构建为多个文件依赖项。这就是为什么我提到 apache beam 部分 Multiple File Dependencies

当我按如下方式构建代码时:

​root_dir/
  ​setup.py
  ​main.py
  __init__.py
  ​extract/
    __init__.py
    extract.py

当我在本地执行它时,它运行良好,当我将它提交到数据流时,我收到以下错误:

ModuleNotFoundError: No module named 'extract'

我的 setup.py 看起来像这样:

from setuptools import setup, find_packages

setup(
    name="g_dataflow",
    version="0.1.0",
    install_requires=[
        'google-cloud-storage==1.42.0'
    ],
    packages=find_packages()

)

我试图按照 apache beam 的 Juliaset 示例进行操作,但没有成功。 有人遇到过同样的问题吗?

我必须将 --save_main_session 添加到我的命令行,这解决了问题