Aws-cli: clidriver in Version 1.13.0 ist defekt

Erstellt am 29. Nov. 2017  ·  21Kommentare  ·  Quelle: aws/aws-cli

Nachdem pip awscli==1.13.0 in einem Docker-Container basierend auf python:3.6.2 installiert hat, kehrt die Ausführung aller aws-Befehle zurück

Traceback (most recent call last):
  File "/usr/local/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/local/lib/python3.6/site-packages/awscli/clidriver.py", line 24, in <module>
    from botocore.history import get_global_history_recorder
ModuleNotFoundError: No module named 'botocore.history'

Zurück zu awscli==1.12.0 und alles funktioniert gut.

Hilfreichster Kommentar

Das hat es für mich behoben:

$ sudo -H pip install awscli --upgrade

Alle 21 Kommentare

Klingt so, als ob Ihre Cli- und Botocore-Version irgendwie nicht synchron sind. Stellen Sie für awscli v1.13.0 sicher, dass Sie mindestens botocore v1.8.3 haben.

Ich habe genau das gleiche Problem:

```[LOCAL][ fcabral@droideka :~]$ sudo pip einfrieren | egrep '(awscli|boto|boto3|botocore)'
awscli==1.14.5
boto==2.48.0
boto3==1.4.8
Botocore==1.8.9

```[LOCAL][fcabral<strong i="12">@droideka</strong>:~]$ aws help
Traceback (most recent call last):
  File "/usr/local/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/local/lib/python2.7/dist-packages/awscli/clidriver.py", line 24, in <module>
    from botocore.history import get_global_history_recorder
ImportError: No module named history

Wie @karimtabet sagte, funktioniert die Rückkehr zu 1.12.0.

Genau der gleiche Fehler wie @cabral404 , mit:

aws-cli/1.14.6
Botocore/1.8.12
Python/2.7.12

Habe das gleiche Problem bei der Ausführung mit meinem Benutzer, wenn sudo verwendet wird, läuft aws cli gut, es scheint Berechtigungsprobleme zu haben, wenn es aus Paketen oder Pip installiert wird.

Mein Workaround sieht so aus:

  • Entfernen Sie die AWS-Cli-Datei aus dem Pip mit pip uninstall awscli
    oder
  • Entfernen Sie entfernen aws-cli-Pakete (wie packman -R aws-cli )
  • Dann nutze AWS Bundle
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
export PATH=~/bin:$PATH

Weitere Informationen finden Sie hier http://docs.aws.amazon.com/cli/latest/userguide/awscli-install-bundle.html#install -bundle-user

Während das Zurücksetzen auf eine frühere Version funktionieren kann, funktionieren neuere Versionen aufgrund von fehlgeschlagenen Importen nicht wie ein Problem mit der Installation des awscli Pakets oder der allgemeinen Verwaltung von Python-Paketen auf Ihrem System. In diesem Fall gibt es wahrscheinlich irgendwo eine andere Version von botocore, die Vorrang vor der in der Ausgabe von pip freeze angezeigten hat.

Wie @Danpiel erwähnt, ist das Entfernen aller anderen Installationsmethoden und die Verwendung eines gebündelten Installationsprogramms eine mögliche Lösung, da eine isolierte Virtualenv zum Ausführen der AWS-Cli verwendet wird.

Für alle, die immer noch damit konfrontiert sind, geben Sie bitte Folgendes an:
1) Welches Betriebssystem verwendest du?
2) Wie haben Sie das Paket awscli installiert?
3) Wie haben Sie versucht, das awscli Paket zu aktualisieren?

Das hat es für mich behoben:

$ sudo -H pip install awscli --upgrade

aws ec2 describe-regions --query 'Regions[].{Name:RegionName}' --output text --region us-east-1
Traceback (most recent call last):
  File "/usr/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/lib/python2.7/dist-packages/awscli/clidriver.py", line 24, in <module>
    from botocore.history import get_global_history_recorder
ImportError: No module named history

ich stehe auch vor dem gleichen Problem.

gleiches Problem wie @optimisticanshul
AWS-Version: awscli-1.14.19
botocore: botocore-1.8.23
Python: Python 2.7.13

Problemumgehung:

  1. pip uninstall boto3 -y
  2. pip uninstall boto -y
  3. pip uninstall botocore -y
  4. pip install botocore --upgrade

Ergebnis aws funktioniert

Ich stehe vor einem ähnlichen Problem. Der einzige Unterschied besteht darin, dass ich beim Versuch, als Root-Benutzer darauf zuzugreifen, den Fehler erhalte, aber wenn ich als ec2-Benutzer darauf zugreife, funktioniert es einwandfrei.

Ausgabe als ec2-Benutzer

[ec2-user@ip-x-x-x-x ~]$ aws route53 change-resource-record-sets --hosted-zone-id $PrivateHostedZoneId --change-batch file:///home/ec2-user/change.json
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "Create route53 DNS entry at instance boot up",
        "SubmittedAt": "2018-01-17T12:30:45.534Z",
        "Id": "/change/C1IG3ETCO6MGVW"
    }
}

Ausgabe als Root-Benutzer

[root@ip-x-x-x-x ec2-user]# aws route53 change-resource-record-sets --hosted-zone-id $PrivateHostedZoneId --change-batch file:///home/ec2-user/change.json
Traceback (most recent call last):
  File "/usr/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/lib/python2.7/dist-packages/awscli/clidriver.py", line 24, in <module>
    from botocore.history import get_global_history_recorder
ImportError: No module named history

aws-cli: 1.14.9
Python: 2.7.12
Linux: 4.9.76-3.78.amzn1.x86_64
Botocore: 1.8.13

Sehe auch das gleiche Problem.

Linux: Arch Linux
Python: 3.6.4
aws-cli 1.14.40-1
Botocore: 1.8.44-1

Versucht, Botocore über Pip zu aktualisieren, bisher erfolglos.

Update: Ich habe auch sudo pip install awscli --force-reinstall --upgrade ausprobiert, was in #641 erwähnt wurde, aber auch das hat nicht geholfen.

Gleiches Problem hier mit Windows:

Plattform: win32
Python: 3.5.2
awscli: 1.14.41
Botocore: 1.8.45

Ich habe die oben vorgeschlagenen Problemumgehungen mit der Deinstallation und Neuinstallation von awscli und botocore ausprobiert und erhalte immer noch die Meldung:

  File "C:\python\Python3\Scripts\aws.cmd", line 50, in <module>
    import awscli.clidriver
ImportError: No module named awscli.clidriver

Wenn Sie die CLI über einen anderen Mechanismus als pip installiert haben (z. B. einen Linux-Paketmanager), müssen Sie auch dort deinstallieren, um sicherzustellen, dass Sie Ihr System vor der Neuinstallation bereinigen. Für Windows empfehle ich dringend, das Installationsprogramm zu verwenden, das wir hier bereitstellen

das gleiche hier, aber mit Upgrades behoben.
gescheiterte

boto (2.48.0)
boto3 (1.4.7)
botocore (1.7.1)
pip install --upgrade boto3
pip install --upgrade botocore
pip install --upgrade awscli

```
aws ecs list-container-instances --cluster my_ecs_cluster
{
"containerInstanceArns": [

...
]
}

Immer noch Fehler bei den meisten aktuellen Versionen:
awscli==1.14.53
boto==2.48.0
boto3==1.6.6
botocore==1.9.6

Befehl: aws ecr get-login --region $AWS_DEFAULT_REGION
Bild: Ubuntu - aws/codebuild/ docker:17.09.0

Traceback (letzter Anruf zuletzt):
Datei "/usr/local/bin/aws", Zeile 19, in
awscli.clidriver importieren
Datei "/usr/local/lib/python2.7/dist-packages/awscli/clidriver.py", Zeile 24, in
aus botocore.history import get_global_history_recorder
ImportError: Kein Modul namens history

Habe eine funktionierende Lösung gefunden:
awscli==1.11.157
boto3==1.6.7
botocore==1.9.7

Es sieht so aus, als ob ein Fix angewendet und die boto3- und botocore-Versionen aktualisiert wurden. Welche Updates auch immer sie gemacht haben, es scheint das Problem behoben zu haben.

Es sieht so aus, als ob das was die Konfigurationsdatei nicht analysieren kann. Ich habe das Problem gelöst, indem ich eine neue ~/.aws/config-Datei erstellt habe.

Ich hatte das gleiche Problem bei der Installation von CentOS mit yum. Ich habe die Pakete mit yum entfernt und awscli mit pip installiert und jetzt funktioniert alles gut.

Für diejenigen, die von Centos 7 mit Epel installieren, wurde awscli aus Epel entfernt und in das Centos-Basisrepo aufgenommen. die Abhängigkeiten haben sich jedoch geändert, entfernen Sie einfach die folgenden Pakete (wenn sie von nichts anderem verwendet werden)

python2-s3transfer python-colorama python2-botocore python2-rsa

dann vom centos-base Repository neu installieren

Altes Thema abschließen. Wie bereits erwähnt, liegt das Problem daran, dass ältere Versionen von Botocore mit der CLI verwendet werden. Solange Sie über pip oder andere unterstützte Installationsmethoden installieren , erhalten Sie eine funktionierende Version der CLI.

Entfernen Sie das Botocore-Paket
pip deinstallieren botocore

awscli erneut installieren
pip install awscli

Jetzt funktioniert es bei mir

sudo -H pip install awscli --upgrade

@mariosotil du hast uns gerettet!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen