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