Dépannage de l'interface de ligne de commande

Cette rubrique explique comment résoudre les problèmes que vous pouvez rencontrer lors de l'installation de Python ou de l'interface de ligne de commande, ou lors de l'utilisation de cette dernière.

Erreurs d'installation

Si une erreur semblable à celle-ci apparaît lors de l'installation avec pip :

Could not fetch URL https://pypi.org/simple/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

votre machine peut ne pas être connectée au réseau Internet externe, ou vos paramètres réseau bloquent l'accès à PyPI. Contactez l'administrateur réseau pour corriger les paramètres réseau, ou essayez d'effectuer une installation hors ligne ou d'utiliser l'image de conteneur.

Erreurs de mise à niveau

Si vous voyez un numéro de version obsolète après une mise à niveau de l'interface de ligne de commande, vous devez essayer de désinstaller la version précédente de l'interface de ligne de commande.

Vous pouvez trouver les emplacements de package à l'aide de la commande suivante :
oci setup find-installations
Remarque

Cette commande n'est pas disponible dans les versions 3.4.0 et antérieures de l'interface de ligne de commande.
Enlevez les packages répertoriés par la commande ci-dessus à l'aide des instructions de la page Désinstallation de l'interface de ligne de commande, puis installez la dernière version de l'interface de ligne de commande OCI en suivant les instructions de votre environnement se trouvant dans Démarrage rapide.

Erreurs de service

Toute opération entraînant une erreur de service génère le renvoi d'une erreur de type "ServiceError" par l'interface de ligne de commande. Pour plus d'informations sur les erreurs de service courantes renvoyées par Oracle Cloud Infrastructure, reportez-vous à Erreurs d'API.

Erreur 401 - Non authentifié

Une erreur de service a le statut 401 et un code NotAuthenticated peut indiquer un fichier de configuration non valide.

Suivez les instructions de la section Configuration du fichier de configuration pour configurer et vérifier votre fichier de configuration.

Erreurs SSL

Exception de demande

Une exception de demande telle que la suivante peut indiquer un fichier de configuration non valide :
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')])")))

Suivez les instructions de la section Configuration du fichier de configuration pour configurer et vérifier votre fichier de configuration.

Echec d'une vérification de certification à l'aide d'une certification locale

Une exception CERTIFICATE_VERIFY_FAILED peut indiquer que l'interface de ligne de commande ne peut pas trouver la certification supplémentaire requise par votre opération.

Pour résoudre ce problème, localisez votre fichier de certification locale :
export CERT_PATH=$(python3 -m certifi)
Cette commande renvoie une sortie semblable à la suivante :
/usr/local/lib/python3/site-packages/certifi/cacert.pem
Définissez une variable d'environnement afin que l'interface de ligne de commande puisse trouver votre certification locale. Par exemple :
export REQUESTS_CA_BUNDLE=${CERT_PATH}

Echec d'une vérification de certification à l'aide d'une certification dans une instance

Une exception CERTIFICATE_VERIFY_FAILED peut indiquer que l'interface de ligne de commande ne peut pas trouver la certification supplémentaire requise par votre opération. Dans certains cas, le fichier de certification peut déjà être provisionné dans l'hôte.

Pour résoudre ce problème, définissez l'emplacement de votre certification dans une variable d'environnement que l'interface de ligne de commande doit utiliser :
export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
Si le fichier de certification n'a pas été provisionné dans l'hôte, localisez le fichier de certification dans l'instance et définissez la variable vers le chemin correct. Par exemple :
export REQUESTS_CA_BUNDLE=path_to_cert_bundle_file

La vérification de certification a échoué : erreur d'URL

Si votre machine exécute une variante macOS de Python 3.6 ou 3.7, et que le message suivant apparaît malgré la définition correcte du chemin de certification :
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
Pour résoudre ce problème, localisez et exécutez le fichier Certificates.command. Votre commande peut ressembler à ceci :
/Applications/Python 3.7/Install Certificates.command

Exécutez le programme d'installation de l'interface de ligne de commande après l'exécution de Certificates.command.

Problèmes de droits d'accès Oracle Linux

Sur Oracle Linux 7.3, si vous rencontrez des problèmes de droits d'accès lors de l'exécution de pip install, vous devrez peut-être utiliser sudo.

Commande oci introuvable

Si la commande oci est introuvable, cela peut être dû à l'une des raisons suivantes :

  • pip a installé le package dans un environnement virtuel différent de celui qui est actif.
  • Vous êtes passé à un environnement virtuel actif différent après l'installation de l'interface de ligne de commande.

Pour déterminer où l'interface de ligne de commande est installée, exécutez les commandes which pip et which oci.

Impossible d'installer le fichier wheel

Si le fichier wheel ne s'installe pas, vérifiez que pip est à jour. Pour mettre à jour pip, exécutez la commande pip install -U pip. Réessayez d'installer le fichier wheel.

Problèmes liés à Windows

Si la commande oci est introuvable, vérifiez que l'emplacement de oci.exe figure dans le chemin d'accès (par exemple, le répertoire Scripts dans votre installation Python).

Aucune distribution correspondante trouvée

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

Cette erreur survient si vous tentez d'installer l'interface de ligne de commande dans un environnement Python 2. La prise en charge de Python 2 a été abandonnée au 1er août 2021.

Pour résoudre ce problème, mettez à jour Python vers la version 3.6.5 ou ultérieure. Si vous avez besoin de Python 2, toutes les versions de l'interface de ligne de commande commençant par 2.x.x prennent toujours en charge Python 2.

Altération automatique des données à l'aide de la commande put

Problème : les utilisateurs qui emploient la commande oci os object put avec des données de STDIN peuvent constater une altération automatique des données en mode FIPS ou dans un environnement qui utilise une version d'OpenSSL conforme à FIPS. L'interface de ligne de commande signale que l'opération de téléchargement vers le serveur a été effectuée, mais qu'aucune donnée n'est téléchargée.

Pour limiter ce problème, mettez à jour l'interface de ligne de commande OCI vers la version 3.4.1 ou ultérieure.

Conseil

Les utilisateurs qui configurent initialement FIPS pour l'interface de ligne de commande doivent suivre les instructions fournies dans Utilisation des bibliothèques validées par FIPS

Informations de contact

Si vous souhaitez rechercher un problème qui n'est pas répertorié ici, contribuer à des idées, signaler un bug, être informé des mises à jour ou avoir des questions ou des commentaires, utilisez l'un des liens suivants.

Contributions

Vous disposez d'une correction de bug ou d'une nouvelle fonctionnalité que vous souhaitez partager ? L'interface de ligne de commande est open source et accepte les demandes d'extraction sur GitHub.

Notifications

Pour être averti lorsqu'une nouvelle version de l'interface de ligne de commande est disponible, abonnez-vous au flux Atom.

Questions ou commentaires

Méthodes d'interaction :