损坏的DAG:[/usr/local/airflow/dags/test.py]没有名为'boto3'的模块。如何将Pip安装到气流容器中?

时间:2020-07-09 14:31:58

标签: docker docker-compose dockerfile airflow

我具有以下层次结构:

-airflow
  -dags
    -test.py
  -deployment
    -dockerfile
    -docker compose
  -scripts
  -requirements.txt

test.py文件使用scripts目录中的函数。一些脚本具有外部导入语句,例如import boto3。我认为这就是问题所在,因为当我运行气流Web服务器时,我看到所有不需要这些外部软件包的DAG都已加载,但是需要它们的DAG却无法加载:
Broken DAG: [/usr/local/airflow/dags/test.py] No module named 'boto3'
docker compose文件看起来像这样:

version: '3'
services:
  webserver:
    build: .

我试图在dockerfile中添加类似内容:

FROM puckel/docker-airflow:1.10.9

WORKDIR /airflow
COPY requirements.txt /airflow
RUN pip install -U pip && pip install -r requirements.txt

但是这些软件包似乎没有安装。每当我启动Web服务器(泊坞窗组成)时,如何安装requirements.txt

1 个答案:

答案 0 :(得分:1)

可能和...一样简单

WORKDIR /airflow
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

您可能还必须指示Docker构建步骤。我认为docker-compose build .docker-compose up --no-cache ...但这是基于松散的记忆