CodeArtifact で pip を設定して使用する
pip
pip は Python パッケージのインストールにのみ使用できます。Python パッケージを公開するには、twine
login コマンドで pip を設定します。
まず、CodeArtifact の開始方法での説明に従い、AWS CLIで使用するためのAWS資格情報を設定します。次に、CodeArtifact login コマンドを使用して認証情報を取得し、この認証情報を使用して pip を設定します。
注記
所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。
pipを設定するには、次のコマンドを実行します。
aws codeartifact login --toolpip--domainmy_domain--domain-owner111122223333--repositorymy_repo
login は、AWS 認証情報を使って CodeArtifact から認可トークンを取得します。login コマンドは、~/.config/pip/pip.conf を編集して --repository オプションで指定されたリポジトリに index-url を設定することで、pip を CodeArtifact で使用できるようにします。
login を呼び出した後のデフォルトの認可時間は 12 時間であり、トークンを定期的に更新するには、login を呼び出す必要があります。login コマンドで作成される認可トークンの詳細については、「loginコマンドで作成されたトークン」を参照してください。
ログインコマンドを使用せずにpipを設定する
pipの設定にloginコマンドを使用できない場合、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アカウント、ツール、およびパーミッションを設定するには、AWS CodeArtifact での設定セクションの手順に従います。
CodeArtifact で twine を設定して使用するの手順に従って、
twineを設定します。
パッケージが、リポジトリまたはそのアップストリームリポジトリの1つに存在する場合、pip install でインストールすることができます。例えば、requestsパッケージをインストールするには、次のコマンドを使用します。
pip install requests
CodeArtifactリポジトリではなく、https://pypi.org-i オプションを使います。
pip install -i https://pypi.org/simple requests