

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configure e use o twine com CodeArtifact
<a name="python-configure-twine"></a>

O [twine](https://pypi.org/project/twine/) é um utilitário de publicação de pacotes para pacotes Python. Para usar o twine para publicar pacotes Python no CodeArtifact seu repositório, você deve primeiro configurar o twine com as informações e credenciais do CodeArtifact seu repositório.

O twine só pode ser usado para publicar pacotes Python. Para instalar pacotes Python, você pode usar o [pip](https://pypi.org/project/pip/). Para obter mais informações, consulte [Configure e use o pip com CodeArtifact](python-configure-pip.md).

## Configure o twine com o comando `login`
<a name="python-configure-twine-login"></a>

Primeiro, configure suas AWS credenciais para uso com o AWS CLI, conforme descrito em[Conceitos básicos do CodeArtifact](getting-started.md). Em seguida, use o CodeArtifact `login` comando para buscar as credenciais e configurar o twine com elas.

**nota**  
Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir `--domain-owner`. Para obter mais informações, consulte [Domínios entre contas](domain-overview.md#domain-overview-cross-account).

Para configurar o twine, execute o seguinte comando.

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

 `login`busca um token de autorização CodeArtifact usando suas AWS credenciais. O `login` comando configura o twine para uso com CodeArtifact `~/.pypirc` a edição para adicionar o repositório especificado pela `--repository` opção com credenciais.

O período de autorização padrão após chamar o `login` é de 12 horas e o `login` deve ser chamado para atualizar o token periodicamente. Para obter mais informações sobre o token de autorização criado com o comando `login`, consulte [Tokens criados com o comando `login`](tokens-authentication.md#auth-token-login).

## Configure o twine sem o comando `login`
<a name="python-configure-twine-without-login"></a>

 Se você não puder usar o comando `login` para configurar o twine, pode usar o arquivo `~/.pypirc` ou as variáveis de ambiente. Para usar o arquivo `~/.pypirc`, adicione as seguintes entradas a ele. A senha deve ser um token de autenticação adquirido pela API `get-authorization-token`.

```
[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
```

**nota**  
Para usar um endpoint de pilha dupla, use o endpoint `codeartifact.region.on.aws`.

Para usar variáveis de ambiente, faça o seguinte.

**nota**  
Se você estiver acessando um repositório em um domínio de sua propriedade, não precisa incluir `--domain-owner`. Para obter mais informações, consulte [Domínios entre contas](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`
```

## Executar o twine
<a name="python-run-twine"></a>

Antes de usar o twine para publicar ativos do pacote Python, você deve primeiro CodeArtifact configurar permissões e recursos.

1. Siga as etapas na [Configurando com AWS CodeArtifact](get-set-up-for-codeartifact.md) seção para configurar sua AWS conta, ferramentas e permissões.

1. Configure o twine seguindo as etapas em [Configure o twine com o comando `login`](#python-configure-twine-login) ou [Configure o twine sem o comando `login`](#python-configure-twine-without-login).

Depois de configurar o twine, você pode executar comandos `twine`. Use o seguinte comando para publicar os ativos do pacote Python.

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

Para obter informações sobre como criar e empacotar seu aplicativo Python, consulte [Gerando arquivos de distribuição](https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives) no site da Python Packaging Authority.