我在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添加到图像生成器中。
这些方法都没有任何结果。
答案 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