我如何将私有的Python包添加到Cloud Composer的依赖项中?

3
我正在尝试在Google Cloud Composer环境中安装一个私有的Python包。我通常使用个人访问令牌来安装包,这在普通的pip中是有效的。使用如下命令: pip install git+https://$TOKEN@github.com/org/repo.git@main 但是,在Cloud Composer中使用上述命令会提示以下信息:

PyPI包名称必须遵循PEP-508中指定的“标识符”格式。(https://peps.python.org/pep-0508/

我不确定该怎么办。是否有人有相关经验?

你有没有考虑使用KubernetesPodOperator构建一个容器并运行它? - guillaume blaquiere
1个回答

3
如果托管您的私有Python包的存储库接受外部调用,则可以生成一个带有参数的pip.conf文件以访问此存储库:
[global]
extra-index-url = https://username:password@yourrepo.com/simple

然后,您需要将此文件复制到Cloud Composer桶中:{composer_bucket_name}/config/pip/pip.conf

您也可以将Python私有包托管在GCP Artifact Registry中,然后生成一个pip.conf文件,允许访问在Artifact Registry中创建的Python仓库,然后将此文件复制到Composer桶中:{composer_bucket_name}/config/pip/pip.conf

完成后,您可以像处理公共包一样向Cloud Composer的PyPi包列表中添加您的私有Python包:

Composer PyPi Packages

您还可以查看官方文档的此链接:https://cloud.google.com/composer/docs/how-to/using/installing-python-dependencies


嗨@Vinay,你解决了你的问题吗? - Mazlum Tosun
1
当内部包发布在Artifact Registry上与公共PyPI注册表上已发布的另一个包具有相同名称时,您如何处理这种情况?在这种情况下,您如何区分包? - Giorgos Myrianthous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接