

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

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á.

# Usar o Python
<a name="packages-python"></a>

Esses tópicos descrevem como usar `pip` o gerenciador de pacotes Python e `twine` o utilitário de publicação de pacotes Python com. CodeCatalyst

**Topics**
+ [Configurar pip e instalação de pacotes Python](packages-python-pip.md)
+ [Configuração do Twine e publicação de pacotes Python](packages-python-twine.md)
+ [Normalização do nome do pacote Python](python-name-normalization.md)
+ [Compatibilidade com Python](packages-python-compatibility.md)

# Configurar pip e instalação de pacotes Python
<a name="packages-python-pip"></a>

Para usar `pip` com CodeCatalyst, você deve se conectar `pip` ao seu repositório de pacotes e fornecer um token de acesso pessoal para autenticação. Você pode ver as instruções para se conectar `pip` ao seu repositório de pacotes no CodeCatalyst console. Depois de se autenticar e se `pip` conectar CodeCatalyst, você pode executar `pip` comandos.

**Contents**
+ [Instalando pacotes Python a partir do CodeCatalyst pip](#pip-install)
+ [Consumindo pacotes Python do PyPI por meio de CodeCatalyst](#pip-install-pypi)
+ [Suporte para comandos pip](#pip-command-support)
  + [Comandos compatíveis que interagem com um repositório](#supported-pip-commands-that-interact-with-a-repository)
  + [Comandos do lado do cliente compatíveis](#supported-pip-client-side-commands)

## Instalando pacotes Python a partir do CodeCatalyst pip
<a name="pip-install"></a>

As instruções a seguir explicam como configurar `pip` para instalar pacotes Python a partir do seu CodeCatalyst repositório de pacotes ou de um de seus repositórios upstream.

**Para configurar e usar `pip` para instalar pacotes Python a partir do seu CodeCatalyst repositório de pacotes**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Na página de visão geral do projeto, selecione **Pacotes**.

1. Escolha seu repositório de pacotes na lista de repositórios de pacotes.

1. Selecione **Conectar ao repositório**.

1. Na caixa de diálogo **Conectar ao repositório**, selecione **pip** na lista de clientes do gerenciador de pacotes.

1. Você precisará de um token de acesso pessoal (PAT) para autenticar o pip. CodeCatalyst Se você já tiver um, pode usá-lo. Caso contrário, você pode criar um aqui.

   1. Selecione **Criar token**.

   1. Para copiar o PAT, selecione **Copiar**.
**Atenção**  
Você não poderá ver ou copiar seu PAT novamente depois de fechar a caixa de diálogo.

1. Use o `pip config` comando para definir o URL e as credenciais do CodeCatalyst registro. Substitua os valores a seguir.
**nota**  
Se estiver copiando as instruções do console, os valores a seguir devem ser atualizados para você e não devem ser alterados.
   + *username*Substitua CodeCatalyst pelo seu nome de usuário.
   + *PAT*Substitua por seu CodeCatalyst PAT.
   + *space\$1name*Substitua pelo nome do seu CodeCatalyst espaço.
   + *proj\$1name*Substitua pelo nome CodeCatalyst do seu projeto.
   + *repo\$1name*Substitua pelo nome CodeCatalyst do repositório do pacote.

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

1. Supondo que um pacote esteja presente em seu repositório ou em um de seus repositórios upstream, você pode instalá-lo com `pip install`. Por exemplo, use o seguinte comando para instalar o pacote `requests`.

   ```
   pip install requests
   ```

   Use a `-i` opção de reverter temporariamente a instalação de pacotes do [https://pypi.org](https://pypi.org) em vez do seu repositório de CodeCatalyst pacotes.

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

## Consumindo pacotes Python do PyPI por meio de CodeCatalyst
<a name="pip-install-pypi"></a>

**Você pode consumir pacotes Python do Python [Package Index (PyPI) por meio de um repositório configurando o CodeCatalyst repositório com uma conexão upstream com o PyPI](https://www.pypi.org/).** Os pacotes consumidos do **PyPI** são ingeridos e armazenados em seu repositório. CodeCatalyst 

**Para consumir pacotes do PyPI**

1. Se você ainda não o fez, configure o pip com seu repositório de CodeCatalyst pacotes seguindo as etapas em. [Instalando pacotes Python a partir do CodeCatalyst pip](#pip-install) 

1. Certifique-se de que seu repositório tenha adicionado **PyPI** como uma origem upstream. Você pode verificar quais fontes upstream foram adicionadas ou adicionar o **PyPI** como uma fonte upstream seguindo as instruções em [Adição de um repositório upstream](packages-upstream-repositories-add.md) e escolhendo o repositório do **armazenamento PyPI**.

Para ter mais informações sobre como solicitar pacotes de repositórios upstream, consulte [Solicitar uma versão do pacote com repositórios upstream](packages-upstream-repositories-request.md).

## Suporte para comandos pip
<a name="pip-command-support"></a>

As seções a seguir resumem os comandos pip que são suportados pelos CodeCatalyst repositórios, além dos comandos específicos que não são suportados.

**Topics**
+ [Comandos compatíveis que interagem com um repositório](#supported-pip-commands-that-interact-with-a-repository)
+ [Comandos do lado do cliente compatíveis](#supported-pip-client-side-commands)

### Comandos compatíveis que interagem com um repositório
<a name="supported-pip-commands-that-interact-with-a-repository"></a>

Esta seção lista os comandos `pip` em que o cliente `pip` faz uma ou mais solicitações ao registro com o qual foi configurado. Verificou-se que esses comandos funcionam corretamente quando invocados em um repositório de CodeCatalyst pacotes.


****  

| Command | Description | 
| --- | --- | 
|   [install](https://pip.pypa.io/en/stable/reference/pip_install/)   |  Instalar pacotes.  | 
|   [baixar](https://pip.pypa.io/en/stable/reference/pip_download/)   |  Baixar pacotes.  | 

CodeCatalyst não implementa`pip search`. Se você configurou `pip` com um repositório de CodeCatalyst pacotes, a execução `pip search` pesquisará e mostrará pacotes do [PyPI](https://pypi.org/).

### Comandos do lado do cliente compatíveis
<a name="supported-pip-client-side-commands"></a>

Esses comandos não exigem nenhuma interação direta com um repositório, portanto, CodeCatalyst não é necessário fazer nada para suportá-los.


****  

| Command | Description | 
| --- | --- | 
|   [uninstall](https://pip.pypa.io/en/stable/reference/pip_uninstall/)   |  Desinstalar pacotes.  | 
|   [freeze](https://pip.pypa.io/en/stable/reference/pip_freeze/)   |  Emita pacotes instalados no formato de requisitos.  | 
|   [list](https://pip.pypa.io/en/stable/reference/pip_list/)   |  Listar pacotes instalados.  | 
|   [show](https://pip.pypa.io/en/stable/reference/pip_show/)   |  Mostre informações sobre os pacotes instalados.  | 
|   [check](https://pip.pypa.io/en/stable/reference/pip_check/)   |  Verifique se os pacotes instalados têm dependências compatíveis.  | 
|   [config](https://pip.pypa.io/en/stable/reference/pip_config/)   |  Gerencie a configuração local e global.  | 
|   [wheel](https://pip.pypa.io/en/stable/reference/pip_wheel/)   |  Construa rodas conforme suas necessidades.  | 
|   [hash](https://pip.pypa.io/en/stable/reference/pip_hash/)   |  Calcule hashes de arquivos de pacotes.  | 
|   [completion](https://pip.pypa.io/en/stable/user_guide/#command-completion)   |  Ajuda na conclusão do comando.  | 
|   [debug](https://pip.pypa.io/en/stable/reference/pip_debug/)   |  Mostre informações úteis para depuração.  | 
|  help  |  Mostre ajuda para comandos.  | 

# Configuração do Twine e publicação de pacotes Python
<a name="packages-python-twine"></a>

Para usar `twine` com CodeCatalyst, você deve se conectar `twine` ao seu repositório de pacotes e fornecer um token de acesso pessoal para autenticação. Você pode ver as instruções para se conectar `twine` ao seu repositório de pacotes no CodeCatalyst console. Depois de se autenticar e se `twine` conectar CodeCatalyst, você pode executar `twine` comandos.

## Publicando pacotes CodeCatalyst com o Twine
<a name="packages-twine-publish"></a>

As instruções a seguir explicam como se autenticar e se conectar `twine` ao seu repositório de CodeCatalyst pacotes.

**Para configurar e usar `twine` para publicar pacotes em seu repositório de CodeCatalyst pacotes**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Na página de visão geral do projeto, selecione **Pacotes**.

1. Escolha seu repositório de pacotes na lista de repositórios de pacotes.

1. Selecione **Conectar ao repositório**.

1. Na caixa de diálogo **Conectar ao repositório**, selecione **Twine** na lista de clientes do gerenciador de pacotes.

1. Você precisará de um token de acesso pessoal (PAT) para autenticar o Twine. CodeCatalyst Se você já tiver um, pode usá-lo. Caso contrário, você pode criar um aqui.

   1. Selecione **Criar token**.

   1. Para copiar o PAT, selecione **Copiar**.
**Atenção**  
Você não poderá ver ou copiar seu PAT novamente depois de fechar a caixa de diálogo.

1. Você pode configurar o twine com um arquivo `.pypirc` ou com variáveis de ambiente.

   1. **Para configurar com um arquivo `.pypirc`.**

      Abra `~/.pypirc` com seu editor preferido.

      Adicione um servidor de indexação para CodeCatalyst, incluindo o repositório, o nome de usuário e o PAT que você criou e copiou em uma etapa anterior. Substitua os valores a seguir.
**nota**  
Se estiver copiando as instruções do console, os valores a seguir devem ser atualizados para você e não devem ser alterados.
      + *username*Substitua CodeCatalyst pelo seu nome de usuário.
      + *PAT*Substitua por seu CodeCatalyst PAT.
      + *space\$1name*Substitua pelo nome do seu CodeCatalyst espaço.
      + *proj\$1name*Substitua pelo nome CodeCatalyst do seu projeto.
      + *repo\$1name*Substitua pelo nome CodeCatalyst do repositório do pacote.

      ```
      [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. **Para configurar com variáveis de ambiente.**

      Defina as seguintes variáveis de ambiente. No `TWINE_REPOSITORY_URL` valor *space\$1name**proj\$1name*, atualize e *repo\$1name* com seus nomes de repositório de CodeCatalyst espaço, projeto e pacote.

      ```
      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. Publique uma distribuição em Python com o comando `twine upload`.

# Normalização do nome do pacote Python
<a name="python-name-normalization"></a>

CodeCatalyst normaliza os nomes dos pacotes antes de armazená-los, o que significa que os nomes dos pacotes CodeCatalyst podem ser diferentes do nome fornecido quando o pacote foi publicado.

Ao realizar a normalização dos pacotes Python, o nome do pacote é colocado em minúsculas e todas as instâncias dos caracteres `.`, `-` e `_` são substituídas por um único caractere `-`. Portanto, os nomes dos pacotes `pigeon_cli` e `pigeon.cli` são normalizados e armazenados como `pigeon-cli`. O nome não normalizado pode ser usado por pip e twine. Para obter mais informações sobre a normalização de nome de pacote Python, consulte [PEP 503](https://www.python.org/dev/peps/pep-0503/#normalized-names) na documentação do Python.

# Compatibilidade com Python
<a name="packages-python-compatibility"></a>

 Embora CodeCatalyst não seja compatível com a `/simple/` API, ele suporta as operações `Legacy` da API. CodeCatalyst não suporta operações de PyPI `XML-RPC` ou `JSON` API. 

Para obter mais informações, consulte o seguinte no repositório da Python Packaging Authority. GitHub
+ [API legada](https://warehouse.pypa.io/api-reference/legacy.html)
+ [API XML-RPC](https://github.com/pypi/warehouse/blob/main/docs/dev/api-reference/xml-rpc.rst)
+ [API JSON](https://docs.pypi.org/api/json/)