以前にpip install --trusted-host http://pypi.org <package>
で半ば無理やり解決した問題のより良い対処法を記録しておく。
上コマンドによる解決策はあまりお上品ではないので直した。原因はpython
とは無関係な問題だった。
原因・解決策など
原因は、There was a problem confirming the ssl certificate
などから、OSのSSL関連の設定ミスだと分かった。
これはsudo yum update
で解決できる。まさかこんなところだったとはという心境。
ローカルマシンのVirtualBox
上だったため全く気を配っていなかった。これはよろしくないので、定期的にアップデートはしないといけない。
また、今になって調べてみると、時刻設定の問題だったかもしれない。VirtualBox
上の仮想マシンはすぐに時刻がずれるため。しかしsudo yum update
で直ったのでいいだろう。次にこの問題に出くわした時は、時刻設定も見ておきたい。
エラー内容
解決はしたものの、一応どういうエラーだったのか抜粋を載せておく。1行だと長かったので、適当なところで改行している。
...
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None,
status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1,
'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate verify failed:
certificate is not yet valid (_ssl.c:1076)'))': /simple/pip/
...
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate:
HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/
(Caused by SSLError(SSLCertVerificationError(1,
'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1076)'))) - skipping
注意してみれば、There was a problem confirming the ssl certificate
やcertificate is not yet valid (_ssl.c:1076)
の部分ですぐに気づくことができたはず。反省しないといけない。
おわり
--trusted-host <url>
は信頼できるホストのみ指定すべきなので、むやみな使用は控えたいと思う。でないと、危ないファイル群がインストールされてしまう可能性がある。
SSL
というかTLS
の認証手順なんかはすぐに思い出せるようにしたい。
同類の問題に当たったときは、
yum update
- OSの時刻設定
あたりを注意しておきたい。
以上です。