为了账号安全,请及时绑定邮箱和手机立即绑定

ImportError:无法从 AWS CodeBuild 中的“botocore.docs.”

ImportError:无法从 AWS CodeBuild 中的“botocore.docs.”

子衿沉夜 2024-01-27 16:09:31
ImportError:无法从“botocore.docs.bcdoc”导入名称“docevents”(/python3.7/site-packages/botocore /docs/bcdoc/ init .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 doceventsImportError: 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中。这是我的规范构建文件:buildspec-cd.ymlpre_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)代码构建工作正常,没有任何改变。才停止工作。
查看完整描述

6 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

就在 PRE_BUILD 部分之前,我将此行添加到我的 buildspec-cd.yml 文件中:

pip3 安装 --升级 awscli

install:
    commands:
      - pip3 install awsebcli --upgrade
      - eb --version
      - pip3 install --upgrade awscli

    pre_build:
      commands:
      - AWS_REGION=${AWS_DEFAULT_REGION}
      - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
      - IMAGE_VERSION=${COMMIT_HASH}
      ...


查看完整回答
反对 回复 2024-01-27
?
aluckdog

TA贡献1847条经验 获得超7个赞

对我来说这是一个版本问题。所以,我用以下版本修复了它:

  1. aws-cli/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


查看完整回答
反对 回复 2024-01-27
?
largeQ

TA贡献2039条经验 获得超7个赞

就我而言,在 ubuntu 20.04 上运行命令“aws --version”时会发生此错误。


解决方案是:


python3 -m pip install --upgrade pip

python3 -m pip uninstall awscli

python3 -m pip install awscli


查看完整回答
反对 回复 2024-01-27
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

在 Ubuntu 20.04 上遇到同样的错误,通过用 pip 替换 pip3 来修复 -sudo python3 -m pip install awscli==1.18.105sudo python3 -m pip install botocore==1.17.28 Thx



查看完整回答
反对 回复 2024-01-27
?
呼唤远方

TA贡献1856条经验 获得超11个赞

升级 pip (不是必需的,但最好这样做,否则在运行第二个命令时会抛出警告消息。)

python3 -m pip install --upgrade pip

升级 awscli (必要)

pip3 install --upgrade awscli

sudo如果需要 root 用户权限,请添加这两个命令。


查看完整回答
反对 回复 2024-01-27
?
暮色呼如

TA贡献1853条经验 获得超9个赞

对于任何偶然发现这个问题的人来说,在 Ubuntu 20.04 中,如果您awscli使用 apt ( apt install awscli) 安装,它将安装的版本是 1.18.69,与更高botocore版本不兼容。要解决此问题,请awscli通过 pip 安装而不是通过 apt 安装(这样您就可以安装最新版本,该版本截至 2022 年 12 月 1.27.30 确实有效),或者降级版本botocore。最后一个botocore可以与awscli1.18.69 版本正常运行的版本是 1.17.63,其相应boto3版本为 1.14.63。



查看完整回答
反对 回复 2024-01-27
  • 6 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信