

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# Pythonの使用
<a name="packages-python"></a>

以下のトピックでは、`pip`、Python パッケージマネージャー、そして Python パッケージ公開ユーティリティである `twine` を CodeCatalyst で使用する方法を説明します。

**Topics**
+ [pip の設定と Python パッケージのインストール](packages-python-pip.md)
+ [Twine の設定と Python パッケージの公開](packages-python-twine.md)
+ [Python パッケージ名の正規化](python-name-normalization.md)
+ [Python の互換性](packages-python-compatibility.md)

# pip の設定と Python パッケージのインストール
<a name="packages-python-pip"></a>

CodeCatalyst で `pip` を使用するには、`pip` をパッケージリポジトリに接続し、認証用の個人用アクセストークンを提供する必要があります。CodeCatalyst コンソールで `pip` をパッケージリポジトリに接続する手順を紹介します。`pip` を認証して CodeCatalyst に接続したら、`pip` コマンドを実行します。

**Contents**
+ [pip を使用して CodeCatalyst から Python パッケージをインストールする](#pip-install)
+ [CodeCatalyst を介して PyPI から Python パッケージを使用する](#pip-install-pypi)
+ [pipコマンドサポート](#pip-command-support)
  + [リポジトリとインタラクトするサポートされたコマンド](#supported-pip-commands-that-interact-with-a-repository)
  + [サポートされているクライアント側コマンド](#supported-pip-client-side-commands)

## pip を使用して CodeCatalyst から Python パッケージをインストールする
<a name="pip-install"></a>

次の手順では、CodeCatalyst パッケージリポジトリまたはそのアップストリームリポジトリのいずれかから Python パッケージをインストールするための `pip` の設定方法を説明します。

**CodeCatalyst パッケージリポジトリから Python パッケージをインストールするために `pip` を設定して使用するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトの概要ページで、**[パッケージ]** を選択します。

1. パッケージリポジトリのリストからパッケージリポジトリを選択します。

1. **[リポジトリに接続]** を選択します。

1. **リポジトリに接続**ダイアログボックスで、パッケージマネージャークライアントのリストから **pip** を選択します。

1. CodeCatalyst で pip を認証するには、個人用アクセストークン (PAT) が必要です。トークンが既にある場合はそれを使用できます。そうでない場合は、ここで作成できます。

   1. **[トークンを作成]** をクリックします。

   1. **[コピー]** をクリックして PAT をコピーします。
**警告**  
ダイアログボックスを閉じると、PAT を再度表示またはコピーできなくなります。

1. `pip config` を使用して CodeCatalystレジストリ URL と認証情報を設定します。次の値を置き換えます。
**注記**  
コンソールの手順からコピーする場合は、以下の値は自動的に更新されるため、変更する必要はありません。
   + *username* を CodeCatalyst のユーザー名に置き換えます。
   + *PAT* を CodeCatalyst の PAT に置き換えます。
   + *space\$1name* を CodeCatalyst のスペース名に置き換えます。
   + *proj\$1name* を CodeCatalyst のプロジェクト名に置き換えます。
   + *repo\$1name* を CodeCatalyst のパッケージリポジトリ名に置き換えます。

   ```
   pip config set global.index-url https://username:PAT@https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/simple/
   ```

1. パッケージが、リポジトリまたはそのアップストリームリポジトリの1つに存在する場合、`pip install` でインストールすることができます。例えば、`requests`パッケージをインストールするには、次のコマンドを使用します。

   ```
   pip install requests
   ```

   CodeCatalyst パッケージリポジトリではなく、[https://pypi.org](https://pypi.org) からのパッケージのインストールに一時的に戻すには、`-i` オプションを使用します。

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

## CodeCatalyst を介して PyPI から Python パッケージを使用する
<a name="pip-install-pypi"></a>

CodeCatalyst を介して [Python Package Index (PyPI)](https://www.pypi.org/) から Python パッケージを使用するには、リポジトリに **PyPI** へのアップストリーム接続を設定します。**PyPI** から使用されたパッケージは、CodeCatalyst リポジトリに取り込まれて保存されます。

**PyPI からパッケージを使用するには**

1. まだ設定していない場合は、「[pip を使用して CodeCatalyst から Python パッケージをインストールする](#pip-install)」の手順に従って CodeCatalyst パッケージリポジトリで pip を設定します。

1. リポジトリに **PyPI** がアップストリームソースとして追加されていることを確認します。追加されているアップストリームソースを確認するか、「[アップストリームリポジトリを追加する](packages-upstream-repositories-add.md)」の手順で **PyPI ストア**リポジトリを選択して、アップストリームソースとして **PyPI** を追加します。

アップストリームリポジトリからのパッケージのリクエストの詳細については、「[アップストリームリポジトリを持つパッケージバージョンのリクエスト](packages-upstream-repositories-request.md)」を参照してください。

## pipコマンドサポート
<a name="pip-command-support"></a>

以下のセクションでは、CodeCatalyst リポジトリでサポートされている pip コマンドと、サポートされていない特定のコマンドについてまとめています。

**Topics**
+ [リポジトリとインタラクトするサポートされたコマンド](#supported-pip-commands-that-interact-with-a-repository)
+ [サポートされているクライアント側コマンド](#supported-pip-client-side-commands)

### リポジトリとインタラクトするサポートされたコマンド
<a name="supported-pip-commands-that-interact-with-a-repository"></a>

このセクションでは、`pip`クライアントが設定されたレジストリに1つかそれ以上のリクエストを行う`pip`コマンドをリストアップします。以下のコマンドは、CodeCatalyst パッケージリポジトリに対して呼び出されたときに正しく機能することが確認されています。


****  

| コマンド | 説明 | 
| --- | --- | 
|   [install](https://pip.pypa.io/en/stable/reference/pip_install/) (インストール)   |  パッケージのインストール  | 
|   [download](https://pip.pypa.io/en/stable/reference/pip_download/)   |  パッケージのダウンロード  | 

CodeCatalyst は `pip search` を実装しません。`pip` を CodeCatalyst パッケージリポジトリで設定している場合、`pip search` を実行すると、[PyPI](https://pypi.org/) のパッケージが検索され、表示されます。

### サポートされているクライアント側コマンド
<a name="supported-pip-client-side-commands"></a>

以下のコマンドはリポジトリとの直接的なやりとりを必要としないため、CodeCatalyst がサポートのために何かを行う必要はありません。


****  

| コマンド | 説明 | 
| --- | --- | 
|   [uninstall](https://pip.pypa.io/en/stable/reference/pip_uninstall/) (アンインストール)   |  パッケージをアンインストールする  | 
|   [フリーズ](https://pip.pypa.io/en/stable/reference/pip_freeze/)   |  インストール済みパッケージを要件形式で出力します。  | 
|   [list](https://pip.pypa.io/en/stable/reference/pip_list/)   |  インストールされているパッケージを一覧表示します。  | 
|   [show](https://pip.pypa.io/en/stable/reference/pip_show/)   |  インストールされたパッケージに関する情報を表示します。  | 
|   [チェック](https://pip.pypa.io/en/stable/reference/pip_check/)   |  インストールされているパッケージに互換性のある依存関係があることを確認します。  | 
|   [config](https://pip.pypa.io/en/stable/reference/pip_config/)   |  ローカルおよびグローバル設定を管理します。  | 
|   [ホイール](https://pip.pypa.io/en/stable/reference/pip_wheel/)   |  要件からホイールを構築します。  | 
|   [ハッシュ](https://pip.pypa.io/en/stable/reference/pip_hash/)   |  パッケージアーカイブのハッシュを計算します。  | 
|   [完了](https://pip.pypa.io/en/stable/user_guide/#command-completion)   |  コマンド補完に役立ちます。  | 
|   [debug](https://pip.pypa.io/en/stable/reference/pip_debug/)   |  デバッグ時に便利な情報を表示します。  | 
|  help  |  コマンドのヘルプを表示します。  | 

# Twine の設定と Python パッケージの公開
<a name="packages-python-twine"></a>

CodeCatalyst で `twine` を使用するには、`twine` をパッケージリポジトリに接続し、認証用の個人用アクセストークンを提供する必要があります。CodeCatalyst コンソールで `twine` をパッケージリポジトリに接続する手順を紹介します。`twine` を認証して CodeCatalyst に接続したら、`twine` コマンドを実行します。

## Twine で CodeCatalyst にパッケージを公開する
<a name="packages-twine-publish"></a>

次の手順では、`twine` を認証して CodeCatalyst パッケージリポジトリに接続する方法を説明します。

**CodeCatalyst パッケージリポジトリにパッケージを公開するために `twine` を設定して使用するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトの概要ページで、**[パッケージ]** を選択します。

1. パッケージリポジトリのリストからパッケージリポジトリを選択します。

1. **[リポジトリに接続]** を選択します。

1. **[リポジトリに接続]** ダイアログボックスで、パッケージマネージャークライアントのリストから **[Twine]** を選択します。

1. CodeCatalyst で twine を認証するには、個人用アクセストークン (PAT) が必要です。トークンが既にある場合はそれを使用できます。そうでない場合は、ここで作成できます。

   1. **[トークンを作成]** をクリックします。

   1. **[コピー]** をクリックして PAT をコピーします。
**警告**  
ダイアログボックスを閉じると、PAT を再度表示またはコピーできなくなります。

1. twine を設定するには、`.pypirc` ファイルまたは環境変数を使用します。

   1. **`.pypirc` ファイルを使用して設定するには**

      適切なエディタで、`~/.pypirc` ファイルを開きます。

      リポジトリ、ユーザー名、前のステップで作成およびコピーした PAT を含む CodeCatalyst のインデックスサーバーを追加します。次の値を置き換えます。
**注記**  
コンソールの手順からコピーする場合は、以下の値は自動的に更新されるため、変更する必要はありません。
      + *username* を CodeCatalyst のユーザー名に置き換えます。
      + *PAT* を CodeCatalyst の PAT に置き換えます。
      + *space\$1name* を CodeCatalyst のスペース名に置き換えます。
      + *proj\$1name* を CodeCatalyst のプロジェクト名に置き換えます。
      + *repo\$1name* を CodeCatalyst のパッケージリポジトリ名に置き換えます。

      ```
      [distutils]
      index-servers = proj-name/repo-name
      
      [proj-name/repo-name]
      repository = https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/
      password = PAT
      username = username
      ```

   1. **環境変数を使用して設定するには**

      次の環境変数を設定します。`TWINE_REPOSITORY_URL` 値で、*space\$1name*、*proj\$1name*、*repo\$1name* を CodeCatalyst のスペース、プロジェクト、パッケージリポジトリ名で更新します。

      ```
      export TWINE_USERNAME=username
      ```

      ```
      export TWINE_PASSWORD=PAT
      ```

      ```
      export TWINE_REPOSITORY_URL="https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/"
      ```

1. `twine upload` コマンドを使用して Python ディストリビューションを公開します。

# Python パッケージ名の正規化
<a name="python-name-normalization"></a>

CodeCatalyst は、パッケージ名を正規化してから保存します。つまり、CodeCatalyst のパッケージ名は、パッケージの発行時に指定された名前とは異なる場合があります。

Python パッケージの場合、パッケージ名を正規化すると、パッケージ名は小文字になり、すべての `.`、`-`、`_` は 1 つの `-` に置き換えられます。そのため、`pigeon_cli` と `pigeon.cli` のパッケージ名は正規化され、`pigeon-cli` として保存されます。正規化されていない名前は、pip と twine で使用できます。Python パッケージ名の正規化の詳細については、Python のドキュメントの「[PEP 503](https://www.python.org/dev/peps/pep-0503/#normalized-names)」を参照してください。

# Python の互換性
<a name="packages-python-compatibility"></a>

 CodeCatalyst は `/simple/` API をサポートしていませんが、`Legacy` API オペレーションをサポートしています。CodeCatalyst は PyPI の `XML-RPC` または `JSON` API オペレーションをサポートしていません。

詳細については、PythonパッケージングオーソリティのGitHubリポジトリの以下を参照してください。
+ [Legacy API](https://warehouse.pypa.io/api-reference/legacy.html)
+ [XML-RPC API](https://github.com/pypi/warehouse/blob/main/docs/dev/api-reference/xml-rpc.rst)
+ [JSON API](https://docs.pypi.org/api/json/)