AWS Glue 作业因以下原因失败:已安装 google-auth 版本 2.0.0.dev0,但 {'google-cloud-core'} 需要 google-auth<2.0dev,>=1.24.0

AWS Glue jobs failing due: google-auth version 2.0.0.dev0 is installed but google-auth<2.0dev,>=1.24.0 is required by {'google-cloud-core'}

SystemExit: error: google-auth 2.0.0.dev0 is installed but google-auth<2.0dev,>=1.24.0 is required by {'google-cloud-core'}

此错误现在出现在 AWS Glue 作业上,在我的例子中,作业使用 smart_open。直到现在才发生,我已经在 AWS Glue 上使用 .eggs 能够 运行 smart_open.

自 2021 年 7 月 20 日起,google-auth 1.33.0 有了新版本,还有其他人遇到过这个错误吗? AWS 必须更新这个错误?

也许使用 google-auth 1.33.0 的 .egg 文件可以解决该问题。请参阅这些 post 了解如何制作 .egg 文件 How to create Python egg file

我已经在 pythonshell 工作中使用鸡蛋了。但是我没有冻结版本号。

setup.py

from setuptools import setup

setup(
  name="my_glue_dependencies",
  install_requires=[
    'google-auth==1.33.1',
    'google-cloud-storage==1.41.1',
    'google-cloud-bigquery==2.22.0'
  ]
)

冻结所用版本的关键是在 install_requires 选项中使用 == 而不是 >=

docker图像from this article可用于构建蛋。

造蛋$ python setup.py bdist_egg -d ./dist

The full article 关于 python 粘合作业,以及如何提供自己的 Python 库。