如何在Airflow中安装软件包?

时间:2019-10-29 16:42:11

标签: pip airflow

我在Airflow中(在GCP上)部署了一个dag,但收到错误消息“没有名为'scipy'的模块”。 如何在Airflow中安装软件包?

我尝试添加单独的DAG来运行

def pip_install(package):
    subprocess.call([sys.executable, "-m", "pip", "install", package])


def update_packages(**kwargs):
    logging.info(list(sys.modules.keys()))
    for package in PACKAGES:
        pip_install(package)

我尝试在GCP的外壳上编写pip3 install scipy;

我尝试将pip install scipy添加到图像生成器中。

这些方法都没有任何结果。

1 个答案:

答案 0 :(得分:1)

如果您在GCP上使用Cloud Composer,则应选中https://cloud.google.com/composer/docs/how-to/using/installing-python-dependencies

requirements.txt文件传递到gcloud命令行工具。用每个需求说明符在单独的行上格式化文件。

示例requirements.txt文件:

scipy>=0.13.3
scikit-learn
nltk[machine_learning]

requirements.txt文件传递到gcloud命令以设置安装依赖项。

gcloud composer environments update ENVIRONMENT-NAME \\
--update-pypi-packages-from-file requirements.txt \\
--location LOCATION