web-dev-qa-db-fra.com

Échec du téléchargement de l'AWS CLI: encodage inconnu: idna

J'essaie de pousser certains fichiers jusqu'à s3 avec l'AWS CLI et je rencontre une erreur:

upload failed: ... An HTTP Client raised and unhandled exception: unknown encoding: idna

Je crois que c'est un problème spécifique Python mais je ne sais pas comment activer ce type d'encodage pour mon python interprète. Je viens juste d'installer Python 3.6 et ont vérifié qu'il est utilisé par powershell et cmd.

$> python --version Python 3.6.7

Si ce n'est pas un problème spécifique Python, il peut être utile de savoir que je viens tout juste d'installer l'AWS CLI et de la configurer correctement. Faites-moi savoir s'il y a autre chose que je suis manquant pour résoudre ce problème. Merci.

9
Justin

J'ai eu le même problème sous Windows.

Après avoir étudié le problème, je me suis rendu compte que le problème se trouvait dans aws-cli installé à l'aide du programme d'installation MSI (x64). Après avoir supprimé "AWS Command Line Interface" de la liste des programmes installés et installé aws-cli à l'aide de pip, le problème a été résolu.

J'ai également essayé d'installer le programme d'installation MSI x32 et le problème était manquant.

7
progm

Pour contourner ce problème, placez l'instruction d'importation suivante dans le fichier aws-script.py .

import encodings.idna

Le chemin complet sur la version 32 bits est c:\Program Files (x86)\Amazon\AWSCLI\bin\aws-script.py

Le chemin complet sur la version 64 bits est C:\Program Files\Amazon\AWSCLI\bin\aws-script.py

J'ai trouvé cette solution pour un problème similaire dans cette réponse

8
Vereb

Sur Windows, il s'agit probablement d'un problème d'installation des outils AWS-cli à l'aide du programme d'installation MSI. Il semble que la meilleure façon de résoudre ce problème soit d'utiliser les outils aws-cli installés avec python.

Conditions préalables: Python3 et Pip3

Vérifiez que vous avez Python et Pip installé

C:\> python --version
Python 3.7.1
C:\> pip3 --version
pip 18.1 from c:\program files\python37\lib\site-packages\pip (python 3.7)

Désinstaller le programme d'installation MSI des outils AWS-CLI

Installez les outils aws-cli avec pip

C:\> pip3 install awscli

Vérifiez si aws-cli est déjà sur votre chemin; sinon, ajoutez-le

C:\> where aws
C:\Program Files\Python37\Scripts\aws

Sinon, localisez où les outils aws-cli sont déployés et ajoutez le chemin d'accès à votre variable d'environnement PATH (peut être défini dans Panneau de configuration> Système> Paramètres système avancés> Variables d'environnement ...).

Ci-dessous, chemin commun des outils AWS cli déployés:

Python 3 et pip3 - C:\Program Files\Python37\Scripts\

Python 3 et pip3 - option utilisateur sur les versions antérieures de Windows - %USERPROFILE%\AppData\Local\Programs\Python\Python37\Scripts

Python 3 et pip3 - option utilisateur sur Windows 10 - %USERPROFILE%\AppData\Roaming\Python\Python37\Scripts

0
Djidiouf

J'ai rencontré la même erreur et corrigé en changeant l'ordre de l'AWC CLI et Python chemin:

Avant:

PATH=C:\Program Files\Python35\Scripts\;C:\Program Files\Python35\;...;C:\Program Files\Amazon\AWSCLI\bin\;...

Après:

PATH=...;C:\Program Files\Amazon\AWSCLI\bin\;...;C:\Program Files\Python35\Scripts\;C:\Program Files\Python35\

On dirait que Python3 influence AWS CLI, qui est juste un cmd appelant Python.

0
Sig