

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodeArtifact で twine を設定して使用する
<a name="python-configure-twine"></a>

[twine](https://pypi.org/project/twine/) は Python パッケージのパッケージ公開ユーティリティです。twine を使用して CodeArtifact リポジトリに Python パッケージを公開するには、まず CodeArtifact リポジトリの情報と認証情報を使用して twine を設定する必要があります。

twine は Python パッケージの公開にのみ使用できます。Python パッケージをインストールするには、[pip](https://pypi.org/project/pip/) を使用します。詳細については、「[CodeArtifact で pip を設定して使用する](python-configure-pip.md)」を参照してください。

## `login` コマンドを使用して twine を設定する
<a name="python-configure-twine-login"></a>

まず、「」の説明に従って AWS CLI、 で使用する AWS 認証情報を設定します[CodeArtifact の開始方法](getting-started.md)。次に、CodeArtifact `login` コマンドを使用して認証情報を取得し、この認証情報を使用して twine を設定します。

**注記**  
所有しているドメインのリポジトリにアクセスする場合、`--domain-owner`を含める必要はありません。詳細については、「[クロスアカウントドメイン](domain-overview.md#domain-overview-cross-account)」を参照してください。

twineを設定するには、次のコマンドを実行します。

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

 `login` は、 AWS 認証情報を使用して CodeArtifact から認可トークンを取得します。`login` コマンドは、`~/.pypirc` を編集し認証情報を含む `--repository` オプションで指定されたリポジトリを追加することで、twine を CodeArtifact で使用できるように設定します。

`login` を呼び出した後のデフォルトの認可時間は 12 時間であり、トークンを定期的に更新するには、`login` を呼び出す必要があります。`login` コマンドで作成される認可トークンの詳細については、「[`login`コマンドで作成されたトークン](tokens-authentication.md#auth-token-login)」を参照してください。

## `login` コマンドを使用せずに twine を設定する
<a name="python-configure-twine-without-login"></a>

 `login` コマンドが twine の設定に使用できない場合、`~/.pypirc` ファイルまたは環境変数を使用することができます。`~/.pypirc`ファイル を使用するためには、次のエントリを追加します。パスワードは、`get-authorization-token`API によって取得された認証トークンである必要があります。

```
[distutils]
index-servers =
 codeartifact
[codeartifact]
repository = https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/
password = auth-token
username = aws
```

**注記**  
デュアルスタックエンドポイントを使用するには、`codeartifact.region.on.aws` エンドポイントを使用してください。

環境変数を使用するには、以下の操作を実行します。

**注記**  
所有しているドメインのリポジトリにアクセスする場合、`--domain-owner`を含める必要はありません 詳細については、「[クロスアカウントドメイン](domain-overview.md#domain-overview-cross-account)」を参照してください。

```
export TWINE_USERNAME=aws
export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format pypi --query repositoryEndpoint --output text`
```

## twineを実行する
<a name="python-run-twine"></a>

twine を使って Python パッケージアセットを公開するには、まず CodeArtifact の権限とリソースを設定する必要があります。

1. [AWS CodeArtifact でのセットアップ](get-set-up-for-codeartifact.md) セクションの手順に従って、 AWS アカウント、ツール、アクセス許可を設定します。

1. 「[`login` コマンドを使用して twine を設定する](#python-configure-twine-login)」または「[`login` コマンドを使用せずに twine を設定する](#python-configure-twine-without-login)」の手順に従って twine を設定します。

twine の設定後、`twine` コマンドを実行することができます。Pythonパッケージアセットを公開するには、次のコマンドを使用します。

```
twine upload --repository codeartifact mypackage-1.0.tgz
```

Pythonアプリケーションのビルドとパッケージ化の方法については、Pythonパッケージングオーソリティのウェブサイトの[配布アーカイブの生成 (Generating Distribution Archives)](https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives)を参照してください。