

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置并使用 pip CodeArtifact
<a name="python-configure-pip"></a>

[pip](https://pypi.org/project/pip/) 是 Python 程序包的程序包安装程序。要使用 pip 从 CodeArtifact 仓库中安装 Python 软件包，必须先使用存储 CodeArtifact 库信息和凭据配置 pip 客户端。

pip 只能用于安装 Python 程序包。要发布 Python 程序包，您可以使用 [twine](https://pypi.org/project/twine/)。有关更多信息，请参阅 [配置和使用麻线 CodeArtifact](python-configure-twine.md)。

## 使用 `login` 命令配置 pip
<a name="python-configure-pip-login"></a>

首先，配置您的 AWS 凭证以与一起使用 AWS CLI，如中所述[开始使用 CodeArtifact](getting-started.md)。然后，使用 CodeArtifact`login`命令获取凭据并使用它们`pip`进行配置。

**注意**  
如果您要访问您拥有的域中的存储库，则无需包括 `--domain-owner`。有关更多信息，请参阅 [跨账户域](domain-overview.md#domain-overview-cross-account)。

要配置 pip，请运行以下命令。

```
aws codeartifact login --tool pip --domain my_domain --domain-owner 111122223333 --repository my_repo
```

 `login` CodeArtifact 使用您的 AWS 凭证获取授权令牌。该`login`命令将配置`pip`为与一起使用， CodeArtifact 通过编辑`~/.config/pip/pip.conf``index-url`将其设置为`--repository`选项指定的存储库。

调用 `login` 后的默认授权期为 12 小时，且必须调用 `login` 来定期刷新令牌。有关使用 `login` 命令创建的授权令牌的更多信息，请参阅 [使用 `login` 命令创建的令牌](tokens-authentication.md#auth-token-login)。

## 不使用 login 命令配置 pip
<a name="python-configure-without-pip"></a>

 如果您无法使用 `login` 命令来配置 `pip`，则可以使用 `pip config`。

1. 使用 AWS CLI 获取新的授权令牌。
**注意**  
如果您要访问您拥有的域中的存储库，则无需包括 `--domain-owner`。有关更多信息，请参阅 [跨账户域](domain-overview.md#domain-overview-cross-account)。

   ```
   CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
   ```

1. `pip config`用于设置 CodeArtifact 注册表 URL 和凭据。以下命令将仅更新当前的环境配置文件。要更新系统范围的配置文件，请将 `site` 替换为 `global`。

   ```
   pip config set site.index-url https://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
<a name="python-run-pip"></a>

要运行`pip`命令，必须`pip`使用进行配置 CodeArtifact。有关更多信息，请参阅以下文档。

1. 按照[使用进行设置 AWS CodeArtifact](get-set-up-for-codeartifact.md)部分中的步骤配置您的 AWS 账户、工具和权限。

1. 按照 [配置和使用麻线 CodeArtifact](python-configure-twine.md) 中的步骤配置 `twine`。

假设您的存储库或其中一个上游存储库中存在程序包，则可以使用 `pip install` 来安装。例如，使用以下命令来安装 `requests` 程序包。

```
pip install requests
```

使用该`-i`选项暂时恢复为从 [https://pypi.org](https://pypi.org) 安装软件包，而不是从存储 CodeArtifact 库安装软件包。

```
pip install -i https://pypi.org/simple requests
```