CodeArtifact で pip を設定して使用する - CodeArtifact

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

CodeArtifact で pip を設定して使用する

pip は Python パッケージのパッケージインストーラーです。pip を使用して CodeArtifact リポジトリから Python パッケージをインストールするには、まず CodeArtifact リポジトリの情報と認証情報を使用して pip クライアントを設定する必要があります。

pip は Python パッケージのインストールにのみ使用できます。Python パッケージを公開するには、twine を使用します。詳細については、「CodeArtifact で twine を設定して使用する」を参照してください。

login コマンドで pip を設定します。

まず、CodeArtifact の開始方法での説明に従い、AWS CLIで使用するためのAWS認証情報を設定します。次に、CodeArtifact login コマンドを使用して認証情報を取得し、この認証情報を使用して pip を設定します。

注記

所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

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

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

login は、AWS資格情報を使ってCodeArtifactから認証トークンを取得します。login コマンドは、~/.config/pip/pip.conf を編集して --repository オプションで指定されたリポジトリに index-url を設定することで、pip を CodeArtifact で使用できるようにします。

login実行後のデフォルトの認証期限は12時間です。loginはトークンを定期的に更新するために実行されねばなりません。loginコマンドを使用して作成された認証トークンの詳細については、loginコマンドで作成されたトークンを参照してください。

ログインコマンドを使用せずにpipを設定する

pipの設定にloginコマンドを使用できない場合、pip configが使用できます。

  1. AWS CLIを使用して、新しい認証トークンを取得します。

    注記

    所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

    CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  2. pip configを使用して CodeArtifactレジストリ URL と資格情報を設定します。以下のコマンドは、現在の環境設定ファイルのみを更新します。システム全体の設定ファイルを更新するには、siteglobal で置き換えます。

    pip config set site.index-url https://aws:$CODEARTIFACT_AUTH_TOKEN@my_domain-111122223333.d.codeartifact.region.amazonaws.com/pypi/my_repo/simple/
重要

レジストリ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を設定しなくてはなりません。詳細については、次のドキュメントを参照してください。

  1. AWSアカウント、ツール、およびパーミッションを設定するには、AWS CodeArtifact での設定セクションの手順に従います。

  2. CodeArtifact で twine を設定して使用するの手順に従って、twineを設定します。

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

pip install requests

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

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