在从CircleCI启动的Dataflow/Apachebeam作业中找不到库

2024-09-30 12:29:39 发布

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

我在使用从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,但解决方案在我的案例中似乎不起作用

任何帮助都将非常感谢。提前多谢


Tags: pyclientapi消息管道apachegoogle作业

热门问题