

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de Python
<a name="packages-python"></a>

En estos temas se describe cómo usar `pip` el administrador de paquetes Python y `twine` la utilidad de publicación de paquetes Python con CodeCatalyst.

**Topics**
+ [Configuración de pip e instalación de paquetes de Python](packages-python-pip.md)
+ [Configuración de Twine y publicación de paquetes de Python](packages-python-twine.md)
+ [Normalización de nombres de paquetes de Python](python-name-normalization.md)
+ [Compatibilidad con Python](packages-python-compatibility.md)

# Configuración de pip e instalación de paquetes de Python
<a name="packages-python-pip"></a>

Para usarlo `pip` con CodeCatalyst, debe conectarse `pip` a su repositorio de paquetes y proporcionar un token de acceso personal para la autenticación. Puedes ver las instrucciones para conectarte `pip` al repositorio de paquetes en la CodeCatalyst consola. Después de autenticarse y conectarse `pip` a CodeCatalyst, puede ejecutar `pip` comandos.

**Contents**
+ [Instalación de paquetes de Python desde CodeCatalyst pip](#pip-install)
+ [Consumir paquetes de Python desde PyPI hasta CodeCatalyst](#pip-install-pypi)
+ [soporte de comandos pip](#pip-command-support)
  + [Comandos compatibles que interactúan con un repositorio](#supported-pip-commands-that-interact-with-a-repository)
  + [Comandos del lado del cliente compatibles](#supported-pip-client-side-commands)

## Instalación de paquetes de Python desde CodeCatalyst pip
<a name="pip-install"></a>

Las siguientes instrucciones explican cómo configurar `pip` la instalación de paquetes de Python desde su repositorio de CodeCatalyst paquetes o uno de sus repositorios ascendentes.

**Para configurar y usar `pip` para instalar paquetes de Python desde su repositorio de CodeCatalyst paquetes**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. En la página de información general del proyecto, seleccione **Paquetes**.

1. Elija su repositorio de paquetes de la lista de repositorios de paquetes.

1. Seleccione **Establecer conexión con el repositorio**.

1. En el cuadro de diálogo **Establecer conexión con el repositorio**, elija **pip** de la lista de clientes del administrador de paquetes.

1. Necesitarás un token de acceso personal (PAT) para autenticar a pip. CodeCatalyst Si ya tiene uno, puede utilizarlo. De lo contrario, puede crear uno aquí.

   1. Seleccione **Crear token**.

   1. Seleccione **Copiar** para copiar el PAT.
**aviso**  
Después de cerrar el cuadro de diálogo, no podrá volver a ver ni copiar el PAT.

1. Usa el `pip config` comando para configurar la URL y las CodeCatalyst credenciales del registro. Reemplace los siguientes valores.
**nota**  
Si va a copiar las instrucciones de la consola, los siguientes valores deben actualizarse automáticamente y no deben cambiarse.
   + *username*Sustitúyala por tu nombre CodeCatalyst de usuario.
   + *PAT*Sustitúyalo por tu CodeCatalyst PAT.
   + Reemplácelo por *space\$1name* CodeCatalyst el nombre de su espacio.
   + *proj\$1name*Sustitúyalo por CodeCatalyst el nombre de tu proyecto.
   + *repo\$1name*Sustitúyalo por el nombre CodeCatalyst del repositorio de paquetes.

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

1. Suponiendo que un paquete esté presente en su repositorio o en uno de sus repositorios ascendentes, puede instalarlo con `pip install`. Por ejemplo, utilice el siguiente comando para instalar el paquete `requests`.

   ```
   pip install requests
   ```

   Utilice la `-i` opción para volver temporalmente a instalar paquetes desde [https://pypi.org](https://pypi.org) en lugar de desde su repositorio de CodeCatalyst paquetes.

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

## Consumir paquetes de Python desde PyPI hasta CodeCatalyst
<a name="pip-install-pypi"></a>

**Puede consumir paquetes de Python del [Python Package Index (PyPI](https://www.pypi.org/)) a través de CodeCatalyst un repositorio configurando el repositorio con una conexión ascendente a PyPI.** Los paquetes consumidos por **PyPI** se ingieren y almacenan en su repositorio. CodeCatalyst 

**Consumo de paquetes desde PyPI**

1. Si aún no lo has hecho, configura pip con tu repositorio de CodeCatalyst paquetes siguiendo los pasos que se indican en. [Instalación de paquetes de Python desde CodeCatalyst pip](#pip-install) 

1. Asegúrese de que el repositorio haya añadido **PyPI** como origen ascendente. Puede comprobar qué orígenes ascendentes se añaden, o añadir **PyPI** como origen ascendente, siguiendo las instrucciones de [Adición de un repositorio ascendente](packages-upstream-repositories-add.md) y seleccionando el repositorio de la **tienda de PyPI**.

Para obtener más información sobre cómo solicitar paquetes desde repositorios ascendentes, consulte [Solicitar una versión de paquete con repositorios ascendentes](packages-upstream-repositories-request.md).

## soporte de comandos pip
<a name="pip-command-support"></a>

En las siguientes secciones se resumen los comandos pip compatibles con los CodeCatalyst repositorios, además de los comandos específicos que no lo son.

**Topics**
+ [Comandos compatibles que interactúan con un repositorio](#supported-pip-commands-that-interact-with-a-repository)
+ [Comandos del lado del cliente compatibles](#supported-pip-client-side-commands)

### Comandos compatibles que interactúan con un repositorio
<a name="supported-pip-commands-that-interact-with-a-repository"></a>

En esta sección se enumeran los comandos `pip` en los que el cliente `pip` realiza una o más solicitudes al registro con el que se ha configurado. Se ha comprobado que estos comandos funcionan correctamente cuando se invocan en un CodeCatalyst repositorio de paquetes.


****  

| Comando | Description (Descripción) | 
| --- | --- | 
|   [install](https://pip.pypa.io/en/stable/reference/pip_install/)   |  Instalar paquetes.  | 
|   [download](https://pip.pypa.io/en/stable/reference/pip_download/)   |  Descargar paquetes.  | 

CodeCatalyst no implementa`pip search`. Si lo has configurado `pip` con un repositorio de CodeCatalyst paquetes, al ejecutar `pip search` se buscarán y mostrarán los paquetes de [PyPI](https://pypi.org/).

### Comandos del lado del cliente compatibles
<a name="supported-pip-client-side-commands"></a>

Estos comandos no requieren ninguna interacción directa con un repositorio, por lo que CodeCatalyst no es necesario hacer nada para respaldarlos.


****  

| Comando | Description (Descripción) | 
| --- | --- | 
|   [uninstall](https://pip.pypa.io/en/stable/reference/pip_uninstall/)   |  Desinstalar paquetes.  | 
|   [freeze](https://pip.pypa.io/en/stable/reference/pip_freeze/)   |  Salida de paquetes instalados en formato de requisitos.  | 
|   [list](https://pip.pypa.io/en/stable/reference/pip_list/)   |  Ver una lista de los paquetes instalados.  | 
|   [show](https://pip.pypa.io/en/stable/reference/pip_show/)   |  Mostrar información acerca de los paquetes instalados.  | 
|   [check](https://pip.pypa.io/en/stable/reference/pip_check/)   |  Compruebe que los paquetes instalados tengan dependencias compatibles.  | 
|   [config](https://pip.pypa.io/en/stable/reference/pip_config/)   |  Administrar la configuración local y global.  | 
|   [wheel](https://pip.pypa.io/en/stable/reference/pip_wheel/)   |  Construir ruedas a partir de sus necesidades.  | 
|   [hash](https://pip.pypa.io/en/stable/reference/pip_hash/)   |  Calcular los hashes de los archivos de los paquetes.  | 
|   [completion](https://pip.pypa.io/en/stable/user_guide/#command-completion)   |  Ayuda a completar los comandos.  | 
|   [debug](https://pip.pypa.io/en/stable/reference/pip_debug/)   |  Mostrar información útil para depuración.  | 
|  help  |  Mostrar la ayuda para los comandos.  | 

# Configuración de Twine y publicación de paquetes de Python
<a name="packages-python-twine"></a>

Para usarlo `twine` con CodeCatalyst, debe conectarse `twine` a su repositorio de paquetes y proporcionar un token de acceso personal para la autenticación. Puedes ver las instrucciones para conectarte `twine` al repositorio de paquetes en la CodeCatalyst consola. Después de autenticarse y conectarse `twine` a CodeCatalyst, puede ejecutar `twine` comandos.

## Publicar paquetes CodeCatalyst con Twine
<a name="packages-twine-publish"></a>

Las siguientes instrucciones explican cómo autenticarse y conectarse `twine` a su repositorio de CodeCatalyst paquetes.

**Para configurar y usar `twine` para publicar paquetes en su repositorio de CodeCatalyst paquetes**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. En la página de información general del proyecto, seleccione **Paquetes**.

1. Elija su repositorio de paquetes de la lista de repositorios de paquetes.

1. Seleccione **Establecer conexión con el repositorio**.

1. En el cuadro de diálogo **Establecer conexión con el repositorio**, elija **Twine** de la lista de clientes del administrador de paquetes.

1. Necesitarás un token de acceso personal (PAT) para autenticar a Twine. CodeCatalyst Si ya tiene uno, puede utilizarlo. De lo contrario, puede crear uno aquí.

   1. Seleccione **Crear token**.

   1. Seleccione **Copiar** para copiar el PAT.
**aviso**  
Después de cerrar el cuadro de diálogo, no podrá volver a ver ni copiar el PAT.

1. Puede configurar twine con un archivo `.pypirc` o con variables de entorno.

   1. **Configuración con un archivo `.pypirc`.**

      Abra `~/.pypirc` en el editor que prefiera.

      Agregue un servidor de índices para CodeCatalyst el que incluya el repositorio, el nombre de usuario y la PAT que creó y copió en el paso anterior. Reemplace los siguientes valores.
**nota**  
Si va a copiar las instrucciones de la consola, los siguientes valores deben actualizarse automáticamente y no deben cambiarse.
      + *username*Sustitúyalo por tu nombre CodeCatalyst de usuario.
      + *PAT*Sustitúyalo por tu CodeCatalyst PAT.
      + Reemplácelo por *space\$1name* CodeCatalyst el nombre de su espacio.
      + *proj\$1name*Sustitúyalo por CodeCatalyst el nombre de tu proyecto.
      + *repo\$1name*Sustitúyalo por el nombre CodeCatalyst del repositorio de paquetes.

      ```
      [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. **Configuración con variables de entorno**

      Configure las siguientes variables de entorno. En el `TWINE_REPOSITORY_URL` valor *space\$1name**proj\$1name*, actualice y *repo\$1name* con los nombres de los repositorios de paquetes, proyectos y CodeCatalyst espacios.

      ```
      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 una distribución de Python con el comando `twine upload`.

# Normalización de nombres de paquetes de Python
<a name="python-name-normalization"></a>

CodeCatalyst normaliza los nombres de los paquetes antes de almacenarlos, lo que significa que los nombres de los paquetes CodeCatalyst pueden ser diferentes del nombre proporcionado cuando se publicó el paquete.

Para los paquetes de Python, al realizar la normalización, el nombre del paquete aparece en minúsculas y todas las instancias de los caracteres `.`, `-` y `_` se sustituyen por un solo carácter `-`. Por lo tanto, los nombres de los paquetes `pigeon_cli` y `pigeon.cli` se normalizan y se almacenan como `pigeon-cli`. El nombre no normalizado lo pueden utilizar pip y twine. Para obtener más información sobre la normalización de los nombres de paquete de Python, consulte [PEP 503](https://www.python.org/dev/peps/pep-0503/#normalized-names) en la documentación de Python.

# Compatibilidad con Python
<a name="packages-python-compatibility"></a>

 Si bien CodeCatalyst no es compatible con la `/simple/` API, sí admite las operaciones de la `Legacy` API. CodeCatalyst no admite las operaciones de PyPI `XML-RPC` o `JSON` API. 

Para obtener más información, consulte lo siguiente en el GitHub repositorio de Python Packaging Authority.
+ [API heredada](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/)