我在使用从CircleCI启动的GCP数据流运行程序运行python Apache Beam管道时遇到了严重问题。如果有人能给我一些关于如何解决这个问题的提示,我会非常感激,我已经尝试了所有的方法,但似乎没有任何效果
基本上,我正在运行这个python Apache Beam管道,它在数据流中运行并使用google-api-python-client-1.12.3
。如果我在我的机器(python3 main.py --runner dataflow --setup_file /path/to/my/file/setup.py
)中运行作业,它工作正常。如果我在CircleCI中运行相同的作业,则会创建数据流作业,但它会失败,并显示一条消息ImportError: No module named 'apiclient'
通过查看this documentation,我认为我应该明确地使用requirements.txt
文件。如果我从CircleCI运行相同的管道,但将--requirements_file
参数添加到包含一行(google-api-python-client==1.12.3
)的需求文件中,则数据流作业会失败,因为工人也会失败。在日志中,首先有一条信息消息ERROR: Could not find a version that satisfies the requirement wheel (from versions: none)"
,这将导致后面的错误消息"Error syncing pod somePodIdHere (\"dataflow-myjob-harness-rl84_default(somePodIdHere)\"), skipping: failed to \"StartContainer\" for \"python\" with CrashLoopBackOff: \"back-off 40s restarting failed container=python pod=dataflow-myjob-harness-rl84_default(somePodIdHere)\"
。我找到了this thread,但解决方案在我的案例中似乎不起作用
任何帮助都将非常感谢。提前多谢
这个问题看起来和你的很相似。解决方案似乎是在
requirements.txt
中显式地包含需求的依赖关系apache beam 2.19.0 not running on cloud dataflow anymore due to Could not find a version that satisfies the requirement setuptools>=40.8
相关问题 更多 >
编程相关推荐