**导入错误:无法从“botocore.docs.bcdoc”导入名称“docevents”
(/python3.7/站点软件包/botocore/文档/bcdoc/初始化.py)**
Traceback (most recent call last):
File "/root/.pyenv/versions/3.7.6/bin/aws", line 19, in <module>
import awscli.clidriver
File "/root/.pyenv/versions/3.7.6/lib/python3.7/site-packages/awscli/clidriver.py", line 36, in <module>
from awscli.help import ProviderHelpCommand
File "/root/.pyenv/versions/3.7.6/lib/python3.7/site-packages/awscli/help.py", line 23, in <module>
from botocore.docs.bcdoc import docevents
ImportError: cannot import name 'docevents' from 'botocore.docs.bcdoc' (/root/.pyenv/versions/3.7.6/lib/python3.7/site-packages/botocore/docs/bcdoc/__init__.py)
[Container] 2020/10/29 16:48:39 Command did not exit successfully aws --version exit status 1
故障发生在PRE_BUILD中。
这是我的规范构建文件:构建规范-cd.yml
pre_build:
commands:
- AWS_REGION=${AWS_DEFAULT_REGION}
- COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
- IMAGE_VERSION=${COMMIT_HASH}
- REPOSITORY_URI=${CONTAINER_REGISTRY}/${APPLICATION_NAME}
- aws --version
- echo Logging in to Amazon ECR...
- $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
代码生成工作正常,未做任何更改。只是停止工作。
8条答案
按热度按时间3ks5zfa01#
阅读这个GitHub issue #2596.我修正了我的错误。
就在PRE_BUILD部分之前,我在buildspec-cd.yml文件中添加了这一行:
pip 3安装--升级awscli
zpqajqem2#
对我来说,这是一个版本问题。所以,我修复了以下版本:
1.自动气象系统-客户界面/1.18.105
命令:
sudo python3 -m pip3 install awscli==1.18.105
1.机器核心/1.17.28
命令:
sudo python3 -m pip3 install botocore==1.17.28
1rhkuytd3#
在我的例子中,这个错误发生在ubuntu20.04上运行命令'aws --version'时。
解决办法是:
sr4lhrrt4#
在Ubuntu 20.04上出现相同错误,来自@vijay rajput的答案在开始时不起作用,通过将pip 3替换为pip -
sudo python3 -m pip install awscli==1.18.105
和sudo python3 -m pip install botocore==1.17.28
Thx修复bvpmtnay5#
pip卸载botocore为我工作
nzkunb0c6#
我在Ubuntu 20.04上也遇到了这个错误(虽然不是在CodeBuild中,但我运行的是
aws lambda invoke
)。安装AWS CLI v2(https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html)对我很有效:cgvd09ve7#
升级pip(不是必须的,但最好这样做,否则它会抛出一个警告消息,而运行第二个命令。
python3 -m pip install --upgrade pip
升级awscli(必要)
pip3 install --upgrade awscli
如果需要root用户权限,请在两个命令中添加
sudo
。llmtgqce8#
对于任何偶然遇到这个问题的人,在Ubuntu 20.04中,如果您使用apt安装
awscli
(apt install awscli
),它将安装的版本为1.18.69,该版本与更高的botocore
版本不兼容。要解决此问题,请通过pip而不是apt安装awscli
(所以你可以安装最新的,截至2022年12月确实可以与1. 27. 30一起工作),或者降级botocore
版本。最后一个可以与awscli
版本1. 18. 69一起正常工作的botocore
是1. 17. 63,其具有1.14.63的相应boto3
版本。