Aws-cli: clidriver di versi 1.13.0 rusak

Dibuat pada 29 Nov 2017  ·  21Komentar  ·  Sumber: aws/aws-cli

Setelah pip menginstal awscli==1.13.0 dalam wadah Docker berdasarkan python:3.6.2 , menjalankan perintah aws kembali

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'

Dikembalikan ke awscli==1.12.0 dan semuanya berfungsi dengan baik.

Komentar yang paling membantu

Ini memperbaikinya untuk saya:

$ sudo -H pip install awscli --upgrade

Semua 21 komentar

Kedengarannya seperti versi cli dan botocore Anda tidak sinkron. Untuk awscli v1.13.0 pastikan Anda memiliki setidaknya botocore v1.8.3.

Saya mengalami masalah yang sama persis:

```[LOKAL][ fcabral@droideka :~]$ sudo pip freeze | egrep '(awscli|boto|boto3|botocore)'
awscli==1.14.5
bot = 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

Seperti yang dikatakan @karimtabet , kembali ke 1.12.0 berfungsi.

Kesalahan yang sama persis dengan @cabral404 , menggunakan:

aws-cli/1.14.6
botocore/1.8.12
Python/2.7.12

Punya masalah yang sama ketika dijalankan dengan pengguna saya, jika Sudo digunakan aws cli berjalan dengan baik, sepertinya ada masalah izin saat diinstal dari paket atau pip.

Solusi saya terlihat seperti ini:

  • Hapus aws cli dari pip dengan pip uninstall awscli
    atau
  • Hapus hapus paket aws-cli (seperti packman -R aws-cli )
  • Kemudian gunakan bundel aws
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

Info lebih lanjut ada di sini http://docs.aws.amazon.com/cli/latest/userguide/awscli-install-bundle.html#install -bundle-user

Meskipun mengembalikan ke versi sebelumnya mungkin berhasil, versi yang lebih baru tidak berfungsi karena kegagalan impor terdengar seperti masalah dengan cara paket awscli diinstal atau bagaimana paket python secara umum dikelola di sistem Anda. Dalam hal ini mungkin ada versi botocore lain di suatu tempat yang lebih diutamakan daripada yang ditampilkan di output pip freeze .

Seperti yang disebutkan @Danpiel menghapus semua metode instalasi lain dan menggunakan penginstal yang dibundel adalah solusi yang mungkin karena menggunakan virtualenv yang terisolasi untuk menjalankan aws cli.

Bagi siapa pun yang masih mengalami ini, harap berikan yang berikut ini:
1) Sistem operasi apa yang Anda gunakan?
2) Bagaimana Anda menginstal paket awscli ?
3) Bagaimana Anda mencoba memperbarui paket awscli ?

Ini memperbaikinya untuk saya:

$ 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

Saya juga menghadapi masalah yang sama.

masalah yang sama dengan @optimisticanshul
versi aws: awscli-1.14.19
botocore: botocore-1.8.23
python: Python 2.7.13

Solusi:

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

Hasil aws bekerja

Saya menghadapi masalah serupa. Satu-satunya perbedaan adalah ketika saya mencoba dan mengaksesnya sebagai pengguna root, saya mendapatkan kesalahan, tetapi ketika mengaksesnya sebagai pengguna ec2, itu berfungsi dengan baik.

Keluarkan sebagai pengguna ec2

[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"
    }
}

Keluaran sebagai pengguna root

[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

Juga melihat masalah yang sama.

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

Mencoba memutakhirkan botocore melalui pip, sejauh ini tidak berhasil.

Pembaruan: Saya juga mencoba sudo pip install awscli --force-reinstall --upgrade yang disebutkan di #641 tetapi itu juga tidak membantu.

Masalah yang sama di sini menggunakan Windows:

platform: win32
python: 3.5.2
awscli: 1.14.41
botocore: 1.8.45

Saya telah mencoba solusi yang disarankan di atas, dengan mencopot dan menginstal ulang awscli dan botocore, dan saya masih mendapatkan pesan:

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

Jika Anda telah menginstal CLI melalui mekanisme apa pun selain pip (seperti pengelola paket linux) maka Anda harus menghapus instalasi di sana juga untuk memastikan membersihkan sistem Anda sebelum menginstal ulang. Untuk Windows saya sangat merekomendasikan menggunakan penginstal yang kami sediakan di sini

sama di sini tetapi diperbaiki dengan peningkatan.
yang gagal

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": [

...
]
}

Masih mendapatkan kesalahan dengan sebagian besar versi saat ini:
awscli==1.14.53
bot = 2.48.0
boto3== 1.6.6
botocore == 1.9.6

Perintah: aws ecr get-login --region $AWS_DEFAULT_REGION
Gambar: Ubuntu - aws/codebuild/ docker:17.09.0

Traceback (panggilan terakhir terakhir):
File "/usr/local/bin/aws", baris 19, di
impor awscli.clidriver
File "/usr/local/lib/python2.7/dist-packages/awscli/clidriver.py", baris 24, di
dari botocore.history impor get_global_history_recorder
ImportError: Tidak ada modul bernama history

Menemukan solusi yang berfungsi:
awscli==1.11.157
boto3== 1.6.7
botocore == 1.9.7

Sepertinya perbaikan telah diterapkan dan versi boto3 dan botocore telah diperbarui. Pembaruan apa pun yang mereka lakukan, tampaknya telah memperbaiki masalah.

Sepertinya was tidak dapat mengurai file konfigurasi. Saya menyelesaikan masalah dengan membuat file ~/.aws/config baru.

Saya memiliki masalah yang sama saat menginstal CentOS dengan yum. Saya menghapus paket dengan yum dan menginstal awscli dengan pip dan sekarang semuanya berfungsi dengan baik.

Bagi mereka yang menginstal dari centos 7 dengan epel, awscli telah dihapus dari epel dan termasuk dalam repo basis centos. namun dependensinya berubah, hapus saja paket-paket berikut (jika tidak ada yang menggunakannya)

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

kemudian instal ulang dari repo centos-base

Menutup masalah lama. Seperti yang disebutkan, masalahnya adalah karena versi botocore yang lebih lama digunakan dengan CLI. Selama Anda menginstal melalui pip atau metode instalasi lain yang

Hapus paket botocore
pip uninstall botocore

instal awscli lagi
pip instal awscli

Sekarang ini berhasil untuk saya

sudo -H pip install awscli --upgrade

@mariosotil Anda menyelamatkan kami!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat