pip - 在 GCP Composer Airflow 上安装私有依赖的任何成功案例?
问题描述
背景资料
通常在容器环境中,我可以轻松地安装我的私有依赖项,requirements.txt
如下所示:
--index-url https://user:pass@some_repo.jfrog.io/some_repo/api/pypi/pypi/simple
some-private-lib
该软件包"some-private-lib"
是我要安装的软件包。
问题
在 GCP Composer 环境中,我尝试使用 GCloud 命令 (
gcloud composer environments update ENV_NAME --update-pypi-packages-from-file ./requirements.txt --location LOCATION
),但它抱怨requirements.txt
不遵循 PEP-508 中定义的格式。然后我找到了这个关于如何从私人仓库安装依赖项的官方指南,但不是很清楚。按照指南中的说明,我创建了一个pip.conf
包含以下内容的文件:
[global]
extra-index-url=https://user:pass@some_repo.jfrog.io/some_repo/api/pypi/pypi/simple
然后将其放入我环境的 GCS 存储桶中:gs://us-central1-xxxx-bucket/config/pip/pip.conf
.
现在我再次运行命令 ( gcloud composer environments update ENV_NAME --update-pypi-packages-from-file ./requirements.txt --location LOCATION
),requirements.txt
只包含一行:some-private-lib
. 它失败了一个非常不透明的错误:failed: Failed to install PyPI packages.
问题
我做错了什么?还有其他可用的解决方法吗?谢谢!
解决方案
当我们尝试在 Composer 中安装包时,我们也遇到了很多问题,然后我们将代码容器化并使用KubernetesPodOperator而不是 Python 运算符。