Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@SwuBHj8aKGqBKHet

Aws cli ebcliでエラー、動かない時にはまずpipパッケージのバージョンを確認しよう

なんだかんだ1年以上運用したので
定期的にどんな作業が発生するかというのが溜まってきたのでまとめてみます。

環境周りのコマンドを実行する作業になるので
不安がある場合は仮想環境のコピーを作成するのをお勧めします。

私の個人的な経験ではほとんどが依存関係のバージョンが食い違っているというものが大半でしたので
バージョンアップのメンテナンス内容をメインに書きます。

これから導入を考えている方に
こんな作業が発生するんだとか
こんなスキルセットが必要になるんだとか
参考になれば嬉しいです。

※ここに書いてあることが全てではないのでその点はご注意を

定期的に必要となるお手入れ

コマンドラインツールもそれぞれバージョンアップをしてくれています。
ゆえに突然エラーが出てくるということもしばしば

そんな時はまずは現状確認しましょう。
※pipを使っていることが前提です

piplisto.shell
$ pip list -o

続きましてpip自身のアップグレード

upgrade.pip
$ pip install --upgrade pip

awscliのアップグレード

awscliupgrade.shell
$ pip install awscli --upgrade --user

参考URL
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/installing.html

eb cliのアップグレード

ebcliupgrade.shell
$ pip install awsebcli --upgrade --user

botocoreのアップグレード

aws cliもアップグレードが同時に必要のような状態の場合

piplist.shell
$ pip list -o
Package          Version   Latest     Type 

awscli           1.16.97   1.16.99    wheel
botocore         1.12.87   1.12.89    wheel

以下のコマンドでbotocoreとaws cliの両方がアップデートされた

awscliup.shell

$ pip install awscli --upgrade --user


その他pip管理のプラグインアップデート

pipでプラグインを個別にアップデートしないといけない場合もある。

pipupdate.sh
$ sudo pip install プラグイン名 -U

#以下tabulateというpipパッケージをアップデートする場合
$ sudo pip install tabulate -U

再インストール

運用している中で何度かawscli,ebコマンド自体を再インストールしたら
治ったということがありましたのでそれも書いてみます。

aws cliの再インストール

pythonモジュールのpipが入っていれば以下でアンインストールできます。

uninstallaws.sh
$ pip uninstall awscli

ebコマンドの再インストール

ebコマンドのアンインストール

uninstallaws.sh
$ pip uninstall awscli

再度インストール

installeb.sh
$ pip install awsebcli --upgrade --user

エラーが表示されたら

ebコマンドのデバッグ

debug.sh
$ Eb deploy --debug

pipパッケージのダウングレード

稀に以下のようなエラーが表示されることがあります。

error.sh
ERROR: awscli 1.16.253 has requirement botocore==1.12.243, but you'll have botocore 1.12.253 which is incompatible.
ERROR: awscli 1.16.253 has requirement rsa<=3.5.0,>=3.1.2, but you'll have rsa 4.0 which is incompatible.

これはawscliが使っているパッケージのバージョンがあっていませんよ〜というもので
バージョンをあげる場合は前述のコマンドでいけますが
バージョンを下げろという場合もあります。
ダウングレードということになりますが
コマンド的にはバージョンを指定してインストールという形でダウングレードできます。

downgrade.sh
$ pip install botocore==1.12.243

パッケージのバージョンリストを確認

パッケージのバージョンって具体的にどんなものがあるかを確認したい時は以下のコマンドで表示されます。

verification-version.sh
$ pip install パッケージ名==

#botocoreなら以下
$ pip install botocore==

>>参考にさせていただきました

linuxの時間がずれた時もエラーが出ます。

当方の環境としてCentOS7の仮想環境に置いている状態で
定期的にLinuxの時間がずれるという現象があり
ebコマンドが動かなくなる時があります。
私の環境では以下の方法で解決しています。
>>CentOS7の時間がずれる

備考

pip listで表示されたパッケージを一括アップデートするコマンドはこちらです。
※ただし個人的経験ではaws-cli,eb-cli側で結構細かく指定があることが多いので結局個別にバージョン指定しながらやることが多くなるため一番最後に書いています。

$ pip list -o | tail -n +3 | awk '{ print $1 }' | xargs pip install -U

>>参考にさせていただきました

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
SwuBHj8aKGqBKHet
webデザインから入って割と広くやる人です。2020年はreact+redux(hooks),fiirebaseを触っていた年でした。21年はpython(Django)、AWS、typescriptなどを深掘りしたいです。前向きな人たちと繋がり、共に成長したい。修正依頼歓迎&感謝します。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?