ざっくりまとめ
- awscliをインストールして使おうとしたら何か怒られた
- よく分からんけど、aptでインストールするのやめてpipで入れ直したら直った
起きたこと
とあるUbuntuサーバへawscliをインストールして、aws configureして、awsコマンドを叩いたところ下記のようなエラーが置きた
$ sudo apt install awscli ... $ aws s3 ls fatal error: 'AWSHTTPSConnection' object has no attribute 'server_hostname'
アイヤー、謎のエラー
エラーメッセージ的にはこっちの設定が悪いとかでは無さそうな雰囲気を感じる、良く分からんけど
やったこと
Try 1: 再インストール
エラーメッセージでぐぐったら、再インストールしたら直ったよ記事がいくつかヒットしたので試してみた
$ sudo apt remove awscli ... $ sudo apt install awscli ... $ aws s3 ls fatal error: 'AWSHTTPSConnection' object has no attribute 'server_hostname'
ハイダメー!!!
Try 2: pipで入れ直す
何も考えずにaptでインストールしたけど、そう言えばいつもawscliはpipでインストールしていたのを思い出した
pipで入れ直してみる
$ sudo apt remove awscli ... $ sudo pip3 install awscli Traceback (most recent call last): File "/usr/bin/pip3", line 9, in <module> from pip import main ImportError: cannot import name 'main'
あらやだ(たまに起こるけど、rootとしてログインしてからなら通るのでそれ以上調べる気にならずなんでこうなるのかちゃんと理解していない人の顔)
$ sudo --login pip3 install awscli ... Successfully installed awscli-1.16.283 $ aws s3 ls -bash: /usr/bin/aws: No such file or directory
チッ (aptで入れていたs3コマンドへのpathが通ったままなのでloginしなおす)
$ aws s3 ls 2019-11-16 18:23:14 very-nice-na-bucket
勝った