

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden von Python-Paketen in CodeBuild
<a name="using-python-packages-in-codebuild"></a>

Die folgenden Schritte wurden mit den Betriebssystemen getestet, die in den [Docker-Images von CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) aufgeführt sind.

## Richten Sie Berechtigungen mit IAM-Rollen ein
<a name="python-packages-in-codebuild-iam"></a>

Diese Schritte sind erforderlich, wenn Sie Python-Pakete von CodeArtifact in verwenden CodeBuild.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Wählen Sie im Navigationsbereich **Rollen**. Bearbeiten Sie auf der Seite **Rollen** die Rolle, die von Ihrem CodeBuild Build-Projekt verwendet wird. Diese Rolle muss über die folgenden Berechtigungen verfügen.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [ "codeartifact:GetAuthorizationToken",
                         "codeartifact:GetRepositoryEndpoint",
                         "codeartifact:ReadFromRepository"
                         ],
             "Resource": "*"
         },
         {       
             "Effect": "Allow",
             "Action": "sts:GetServiceBearerToken",
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "sts:AWSServiceName": "codeartifact.amazonaws.com"
                 }
             }
         }
     ]
   }
   ```

------
**Wichtig**  
 Wenn Sie die Option auch zum Veröffentlichen von Paketen verwenden CodeBuild möchten, fügen Sie die **codeartifact:PublishPackageVersion** entsprechende Berechtigung hinzu. 

   Weitere Informationen finden Sie unter [Ändern einer Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) im *IAM-Benutzerhandbuch*.

## Melden Sie sich an und verwenden Sie Pip oder Twine
<a name="python-packages-in-codebuild-login"></a>

Um Python-Pakete von zu verwenden CodeBuild, führen Sie den `login` Befehl aus dem `pre-build` Abschnitt Ihrer `buildspec.yaml` Projektdatei aus, aus dem CodeArtifact Pakete abgerufen werden `pip` sollen. Weitere Informationen finden Sie unter [CodeArtifact Mit Python verwenden](using-python.md).

Nach `login` erfolgreicher Ausführung können Sie `pip` Befehle aus dem `build` Abschnitt ausführen, um Python-Pakete zu installieren oder zu veröffentlichen.

### Linux
<a name="python-packages-in-codebuild-login-linux"></a>

**Anmerkung**  
Ein Upgrade AWS CLI mit ist nur erforderlich, `pip3 install awscli --upgrade --user` wenn Sie ein älteres CodeBuild Image verwenden. Wenn Sie die neuesten Image-Versionen verwenden, können Sie diese Zeile entfernen.

 Um Python-Pakete zu installieren mit`pip`: 

```
pre_build:
  commands:
    - pip3 install awscli --upgrade --user
    - aws codeartifact login --tool pip --domain my_domain --domain-owner 111122223333 --repository my_repo
build:
  commands:
    - pip install requests
```

 Um Python-Pakete zu veröffentlichen mit`twine`: 

```
pre_build:
  commands:
    - pip3 install awscli --upgrade --user
    - aws codeartifact login --tool twine --domain my_domain --domain-owner 111122223333 --repository my_repo
build:
  commands:
    - twine upload --repository codeartifact mypackage
```

### Windows
<a name="python-packages-in-codebuild-login-windows"></a>

 Um Python-Pakete zu installieren mit`pip`: 

```
version: 0.2
phases:
  install:
    commands:
      - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi'
      - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart"
  pre_build:
    commands:
      - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool pip --domain my_domain --domain-owner 111122223333 --repository my_repo'
  build:
    commands:
      - pip install requests
```

 Um Python-Pakete zu veröffentlichen mit`twine`: 

```
version: 0.2
phases:
  install:
    commands:
      - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi'
      - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart"
  pre_build:
    commands:
      - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool twine --domain my_domain --domain-owner 111122223333 --repository my_repo'
  build:
    commands:
      - twine upload --repository codeartifact mypackage
```