猿问

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

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 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中。


这是我的规范构建文件:buildspec-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)

代码构建工作正常,没有任何改变。才停止工作。


子衿沉夜
浏览 181回答 6
6回答

慕容森

就在 PRE_BUILD 部分之前,我将此行添加到我的 buildspec-cd.yml 文件中:pip3 安装 --升级 awscliinstall:     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}       ...

aluckdog

对我来说这是一个版本问题。所以,我用以下版本修复了它:aws-cli/1.18.105命令:sudo python3 -m pip3 install awscli==1.18.105博托核心/1.17.28命令:sudo python3 -m pip3 install botocore==1.17.28

largeQ

就我而言,在 ubuntu 20.04 上运行命令“aws --version”时会发生此错误。解决方案是:python3 -m pip install --upgrade pippython3 -m pip uninstall awsclipython3 -m pip install awscli

汪汪一只猫

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

呼唤远方

升级 pip (不是必需的,但最好这样做,否则在运行第二个命令时会抛出警告消息。)python3 -m pip install --upgrade pip升级 awscli (必要)pip3 install --upgrade awsclisudo如果需要 root 用户权限,请添加这两个命令。

暮色呼如

对于任何偶然发现这个问题的人来说,在 Ubuntu 20.04 中,如果您awscli使用 apt (&nbsp;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。
随时随地看视频慕课网APP

相关分类

Python
我要回答