ImportError: 'botocore.docs.bcdoc'から「名前 'docevents」をインポートできません。
[。](/ Python3.7 /サイトパッケージ/ボトコア/ 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)
_
CodeBuildが正しく機能し、何も変更されていません。作業を止めただけです。
これを読む github issue#2596。 私は私のエラーを修正しました。
Pre_Buildセクションの直前に、この行をmy buildspec-cd.ymlファイルに追加しました。
PIP3 Install - Upgrade 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}
...
_
私のためにそれはバージョンの問題です。だから、私は以下のバージョンでそれを修正しました:
指示: Sudo python3 -m pip3 install awscli==1.18.105
_
指示: Sudo python3 -m pip3 install botocore==1.17.28
_