我已使用 pip 在我的 alpine Docker 映像上安装了 AWS CLI Python 3.9.0a1。安装很顺利。当我运行该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
Run Code Online (Sandbox Code Playgroud)
我需要安装任何其他模块来修复此错误消息吗?
blh*_*ing 16
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
Run Code Online (Sandbox Code Playgroud)