Solución de problemas de CLI

En este tema se describe cómo resolver los problemas que pueden surgir al instalar Python o CLI, o al usar CLI.

Errores de instalación

Si aparece un error similar a este al instalar con pip:

Could not fetch URL https://pypi.org/project/oci-cli/: There was a problem confirming the ssl certificate:
            HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/oci-cli/ (Caused by
          SSLError(SSLError(1, '[SSL:
          CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:877)'),)) - skipping

Es posible que su equipo no esté conectado al Internet externo o que la configuración de red esté bloqueando el acceso a pypi. Consulte al administrador de red para corregir la configuración de red o intente realizar una instalación fuera de línea o utilizar la imagen de contenedor.

Errores de actualización

Si aparece un número de versión obsoleto después de actualizar la CLI, pruebe a desinstalar la versión anterior de la CLI.

Para encontrar las ubicaciones de los paquetes, utilice este comando:
oci setup find-installations
Nota

Tenga en cuenta que este comando no está disponible en las versiones 3.4.0 y anteriores de la CLI.
Elimine los paquetes indicados por el comando anterior siguiendo las instrucciones de Desinstalación de CLI y, a continuación, instale la versión más reciente de la CLI de OCI siguiendo las instrucciones de su entorno que se detallan en Inicio rápido.

Errores de servicio

Cualquier operación que genere un error de servicio provocará que CLI devuelva un error de tipo "ServiceError". Para obtener información sobre los errores de servicio comunes que devuelve Oracle Cloud Infrastructure, consulte Errores de API.

401 Error - No autenticado

Un error de servicio con el estado 401 y el código NotAuthenticated puede indicar un archivo de configuración no válido.

Siga las instrucciones de Configuración del archivo de configuración para configurar y verificar el archivo de configuración.

Errores de SSL

Excepción de solicitud

Una excepción de solicitud como la siguiente puede indicar un archivo de configuración no válido:
RequestException: HTTPSConnectionPool(host='<some_service_endpoint>', port=443): Max retries exceeded with url: <some_url> (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

Siga las instrucciones de Configuración del archivo de configuración para configurar y verificar el archivo de configuración.

Fallo de verificación de certificación al utilizar una certificación local

Una excepción CERTIFICATE_VERIFY_FAILED puede indicar que la CLI no puede encontrar la certificación adicional que necesita la operación.

Para solucionar este problema, localice el archivo de certificación local:
export CERT_PATH=$(python3 -m certifi)
Esto devolverá una salida similar a la siguiente:
/usr/local/lib/python3/site-packages/certifi/cacert.pem
Defina una variable de entorno para que la CLI pueda encontrar la certificación local. Por ejemplo:
export REQUESTS_CA_BUNDLE=${CERT_PATH}

Fallo del control de certificación al utilizar una certificación en una instancia

Una excepción CERTIFICATE_VERIFY_FAILED puede indicar que la CLI no puede encontrar la certificación adicional que necesita la operación. En algunos casos, es posible que el archivo de certificación ya esté aprovisionado en el host.

Para solucionar este problema, defina la ubicación de la certificación en una variable de entorno para que la utilice la CLI:
export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
Si el archivo de certificación no se ha aprovisionado en el host, localice el archivo de certificación en la instancia y defina la ruta correcta de la variable. Por ejemplo:
export REQUESTS_CA_BUNDLE=path_to_cert_bundle_file

Fallo de verificación de certificación: error de URL

Si su equipo ejecuta una variante macOS de Python 3.6 o 3.7 y se muestra el siguiente mensaje pese a que la ruta de la certificación está configurada correctamente:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)>
ERROR: Failed to download virtualenv package. Please check that your trusted certificates are up to date and include the certificates necessary to verify github.com
Para solucionar este problema, localice y ejecute el archivo Certificates.command. El comando puede tener este aspecto:
/Applications/Python 3.7/Install Certificates.command

Ejecute el instalador de la CLI después de que el comando Certificates se ejecute correctamente.

Problemas de permisos de Oracle Linux

En Oracle Linux 7.3, si surgen problemas de permisos al ejecutar pip install, puede que necesite utilizar sudo.

Comando oci no encontrado

Si no se encuentra el comando oci, esto puede deberse a uno de los siguientes motivos:

  • pip ha instalado el paquete en un entorno virtual diferente al activo.
  • Ha cambiado a un entorno virtual activo diferente después de haber instalado CLI.

Para determinar dónde está instalada CLI, ejecute los comandos which pip y which oci.

El archivo wheel no se instala

Si el archivo wheel no se instala, compruebe que pip esté actualizado. Para actualizar pip, ejecute el comando pip install -U pip. Vuelva a intentar instalar el archivo wheel.

Problemas de Windows

Si no se encuentra el comando oci, asegúrese de que la ubicación de oci.exe esté en su ruta de acceso (por ejemplo, el directorio Scripts en la instalación de Python).

No se ha encontrado ninguna distribución coincidente

Error: No matching distribution found for oci-cli==3.x.x

Este error se produce si intenta instalar la CLI en un entorno Python 2. El soporte para Python 2 quedó en desuso a partir del 1 de agosto de 2021.

Para resolver esta incidencia, actualice Python a la versión 3.6.5 o posterior. Si necesita Python 2, cualquier versión de la CLI a partir de la 2.x.x seguirá soportando Python 2.

Daños silenciosos en los datos al utilizar el comando put

Incidencia: los usuarios que utilizan el comando oci os object put con datos de STDIN pueden observar que se producen daños silenciosos en los datos en el modo FIPS o en un entorno que utiliza una versión de OpenSSL compatible con FIPS. La CLI informa que la operación de carga se ha realizado correctamente, pero no se ha cargado ningún dato.

Para mitigar esta incidencia, actualice la versión de la CLI de OCI a la versión 3.4.1 o posterior.

Consejo

Los usuarios que configuran inicialmente FIPS para la CLI deben seguir las instrucciones de Uso de bibliotecas validadas por FIPS.

Información de contacto

Si desea buscar un problema que no aparece aquí, aportar ideas, informar de un error, recibir notificaciones sobre actualizaciones o tener preguntas o comentarios, utilice uno de los siguientes enlaces.

Aportaciones

¿Ha obtenido una corrección para un bug o una nueva función que desee aportar? CLI es un código abierto y acepta solicitudes de obtención en GitHub.

Notificaciones

Para recibir una notificación cuando se lance una nueva versión de CLI, suscríbase a la fuente Atom.

Preguntas o comentarios

Formas de contactar: