Airflow 无法与 Google 依赖项配合使用

问题描述 投票:0回答:1

我正在使用使用 Docker 部署的 Airflow 我安装了最新版本的 apache-airflow-providers-google 也尝试过(10.7.0),但面临问题 Airflow 无法将 Google hook 用于 Gsheet 和其他相关内容至 Google 提供商。 它抱怨“google”文件夹,告诉它不是一个包。我也尝试将此文件夹添加到 PYTHONPATH,但没有帮助。

Error:
  File "/home/airflow/.local/lib/python3.8/site-packages/airflow/providers/google/suite/hooks/sheets.py", line 23, in <module> from googleapiclient.discovery import build File "/home/airflow/.local/lib/python3.8/site-packages/googleapiclient/discovery.py", line 42, in <module> import google.api_core.client_options ModuleNotFoundError: No module named 'google.api_core'; 'google' is not a package

这是我的 Dockerfile:

FROM apache/airflow:2.7.1
COPY airflow_requirements.txt /
RUN pip install --no-cache-dir "apache-airflow[google,amazon]==${AIRFLOW_VERSION}"  \
 -r /airflow_requirements.txt
ENV PIP_USER=false
RUN python -m venv dbt_venv && source dbt_venv/bin/activate && \
    pip install --no-cache-dir "dbt-postgres==1.6.1" && \
    pip install --no-cache-dir "elementary-data==0.10.0" && \
    pip install --no-cache-dir "elementary-data[postgres]==0.10.0" && \
    deactivate
ENV PIP_USER=true
ENV PYTHONPATH "${PYTHONPATH}:${AIRFLOW_HOME}/utils"

我在官方 docker compose 文件中使用它来代替气流图像。

气流要求列表:

astronomer-cosmos==1.1.1
apache-airflow-providers-postgres==5.6.0
apache-airflow-providers-amazon==8.6.0
pandas==2.0.3
pyarrow==11.0.0
pyairtable==2.1.0
apache-airflow-providers-google==10.7.0

你能帮我吗?

google-cloud-platform google-api dependencies airflow
1个回答
0
投票

事实证明,该问题与我创建的自定义运算符的自定义模块有关。该模块的名称是“google”。所以,这是一种依赖性问题。

我只是重命名了它,仅此而已。 也许这对某人有用。

© www.soinside.com 2019 - 2024. All rights reserved.