在 CodeArtifact 中配置和使用 pip
pip
pip 只能用于安装 Python 程序包。要发布 Python 程序包,您可以使用 twine
使用 login 命令配置 pip
首先,配置要与 AWS CLI 一起使用的 AWS 凭证,如开始使用 CodeArtifact 中所述。然后,使用 CodeArtifact login 命令来提取凭证并使用这些凭证来配置 pip。
注意
如果您要访问您拥有的域中的存储库,则无需包括 --domain-owner。有关更多信息,请参阅 跨账户域。
要配置 pip,请运行以下命令。
aws codeartifact login --toolpip--domainmy_domain--domain-owner111122223333--repositorymy_repo
login 使用您的 AWS 凭证从 CodeArtifact 提取授权令牌。login 命令会编辑 ~/.config/pip/pip.conf,将 index-url 设置为 --repository 选项指定的存储库,从而将 pip 配置为与 CodeArtifact 一起使用。
调用 login 后的默认授权期为 12 小时,且必须调用 login 来定期刷新令牌。有关使用 login 命令创建的授权令牌的更多信息,请参阅 使用 login 命令创建的令牌。
不使用 login 命令配置 pip
如果您无法使用 login 命令来配置 pip,则可以使用 pip config。
-
使用 AWS CLI 来提取新的授权令牌。
注意
如果您要访问您拥有的域中的存储库,则无需包括
--domain-owner。有关更多信息,请参阅 跨账户域。CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domainmy_domain--domain-owner111122223333--query authorizationToken --output text` -
使用
pip config来设置 CodeArtifact 注册表 URL 和凭证。以下命令将仅更新当前的环境配置文件。要更新系统范围的配置文件,请将site替换为global。pip config set site.index-urlhttps://aws:$CODEARTIFACT_AUTH_TOKEN@my_domain-111122223333.d.codeartifact.region.amazonaws.com/pypi/my_repo/simple/注意
要使用双堆栈端点,请使用
codeartifact.端点。region.on.aws
重要
注册 URL 必须以正斜杠 (/) 结尾。否则,您无法连接到存储库。
示例 pip 配置文件
以下是设置 CodeArtifact 注册表 URL 和凭证后的 pip.conf 文件示例。
[global] index-url = https://aws:eyJ2ZX...@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/simple/
运行 pip
要运行 pip 命令,必须使用 CodeArtifact 配置 pip。有关更多信息,请参阅以下文档。
按照 设置 AWS CodeArtifact 部分中的步骤来配置您的 AWS 账户、工具和权限。
按照 在 CodeArtifact 中配置和使用 twine 中的步骤配置
twine。
假设您的存储库或其中一个上游存储库中存在程序包,则可以使用 pip install 来安装。例如,使用以下命令来安装 requests 程序包。
pip install requests
使用 -i 选项暂时恢复为从 https://pypi.org
pip install -i https://pypi.org/simple requests