AWS CLI с Python 3.9.0a1 ошибкой `из импорта коллекций MutableMapping` - PullRequest
2 голосов
/ 08 января 2020

Я установил AWS CLI, используя pip на моем Python 3.9.0a1 alpine docker изображении. Установка прошла нормально. Когда я запускаю команду aws, появляется ошибка ниже.

 aws
Traceback (most recent call last):
  File "/usr/local/bin/aws", line 27, in <module>
    sys.exit(main())
  File "/usr/local/bin/aws", line 23, in main
    return awscli.clidriver.main()
  File "/usr/local/lib/python3.9/site-packages/awscli/clidriver.py", line 68, in main
    driver = create_clidriver()
  File "/usr/local/lib/python3.9/site-packages/awscli/clidriver.py", line 77, in create_clidriver
    load_plugins(session.full_config.get('plugins', {}),
  File "/usr/local/lib/python3.9/site-packages/awscli/plugin.py", line 44, in load_plugins
    modules = _import_plugins(plugin_mapping)
  File "/usr/local/lib/python3.9/site-packages/awscli/plugin.py", line 61, in _import_plugins
    module = __import__(path, fromlist=[module])
  File "/usr/local/lib/python3.9/site-packages/awscli/handlers.py", line 42, in <module>
    from awscli.customizations.history import register_history_mode
  File "/usr/local/lib/python3.9/site-packages/awscli/customizations/history/__init__.py", line 24, in <module>
    from awscli.customizations.history.db import DatabaseConnection
  File "/usr/local/lib/python3.9/site-packages/awscli/customizations/history/db.py", line 19, in <module>
    from collections import MutableMapping
ImportError: cannot import name 'MutableMapping' from 'collections' (/usr/local/lib/python3.9/collections/__init__.py)



python --version
Python 3.9.0a1

Нужно ли устанавливать какой-либо другой модуль, чтобы исправить это сообщение об ошибке?

Спасибо

1 Ответ

1 голос
/ 08 января 2020

collections.MutableMapping устарела с Python 3.3 и официально удалена с Python 3.9.

Выдержка из документации :

Устаревший с версии 3.3, будет удален в версии 3.9: Перемещено Коллекции Абстрактные базовые классы в модуль collections.abc.

Вы можете подождать для выпуска Python 3.9-совместимой версии awscli или исправьте сценарий aws (под вашим /usr/local/bin) так, как сейчас:

...
import collections
from collections import abc
collections.MutableMapping = abc.MutableMapping
import awscli.clidriver
...