モヒカンは正義

プログラマー風林火山で言う「風のエンジニア」になりたい(比較的)若者Webエンジニアの備忘録

awscliで 'AWSHTTPSConnection' object has no attribute 'server_hostname' って怒られたときにやったこと

ざっくりまとめ

  • 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

勝った