pipコマンドでモジュールインストール時にSSLエラー時の対処方法

スポンサーリンク
この記事は 約9 分で読めます。

今回はPython pipコマンドでモジュールインストール時にSSLエラーが出たときの対処方法についてご紹介します。

スポンサーリンク

エラー時の環境

私の場合、今回のエラーが発生したときの環境は以下の通りです。

 

  • Windows10
  • Python 3.6.8
  • pip 20.3.3

 

なつめ
なつめ

AWS CLIを導入して開発環境を整えている状況でした。Python3をインストールして、AWS CLIをインストールしようとコマンドプロンプト上で以下コマンドを打ったらエラーになりました。

pip install awscli --upgrade --user
スポンサーリンク

エラー内容

上のコマンドを打って返ってきたエラーはこんな感じです。

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /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("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
Requirement already up-to-date: pip in c:\anaconda3\lib\site-packages (20.1.1)
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
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("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

エラー内容は「pipでTLS/SSLが要求されているけど、PythonのSSLモジュールが使えないから動かないよ」ってことです。

つまり、SSLモジュールを直せばきちんと動くってことになります。

 

スポンサーリンク

対処方法

対処方法についてはいくつかご紹介します。

①OpenSSLをインストールする

OpenSSLが入っていない場合はこのエラーが出ます。

以下からOpenSSLをダウンロード&インストールすることで解決します。

 

なつめ
なつめ

私の場合はこれで解決しました。

OpenSSLはこちらのサイトからダウンロードしました。Windows64bitの場合は、Win64 OpenSSL Lightを選択してダウンロードすればOKです。

なつめ黒猫
なつめ黒猫

brewが使える環境の場合は、以下のようにbrewでopensslを再インストールすることで解決できる場合もあるようです。

brew unlink openssl
brew reinstall oplenssl
スポンサーリンク

②ファイルを差し替える

Windows10の場合、以下ファイルが壊れているためpipがうまく動作しない場合があるようです。

ent Engine Components\iCLS\libssl-1_1-x64.dll

Anacondaをインストールしている場合、以下のAnaconda上にあるファイルをコピーして差し替えるとpipが動作するようです。

C:\Users\[User]\Anaconda3\pkgs\openssl-1.1.1b-he774522_1\Library\bin

③Xcodeのバージョンアップ

Xcodeのバージョンアップが古いと、本エラーが出る場合があるようです。

 

スポンサーリンク

まとめ

今回はPython pipコマンドでモジュールインストール時にSSLエラーが出たときの対処方法についてご紹介しました。

エラーが発生した場合は、素直にOpenSSLをインストールしましょう。

他にもPythonのおすすめ記事をこちらにまとめました。

なつめ黒猫
なつめ黒猫

星の数は記事で紹介しているプログラミングの難易度を示しているよ。自分のレベルに合わせて読んでみてね。

また、Pythonなどのプログラミングを本格的に勉強したのであれば、オンラインでも受講可能な「TECH  ACADEMY」がオススメです。

専属のアドバイザーがついてくれるので、短期集中で必要なプログラミング技術を身に着けることができます。

なつめ黒猫
なつめ黒猫

「TECH ACADEMY」よるスキルアップで、もう一段上のエンジニアへステップアップしましょう!

理系王子
理系王子

また、AI開発や人工知能アプリに特化してもっと勉強したい人、AIエンジニアの資格取得や転職にチャレンジしてみたいという方には、Aidemyがおすすめです。こちらの記事で詳しく解説しています。

 

人工知能AIやpythonプログラミングを初心者でも学べるオンライン学習Aidemyの評判
人工知能AIに特化したオンラインのプログラミングスクール「Aidemy」プレミアムの評判や口コミ、Python言語を使った学習内容や実際に作るAIアプリ例、他のスクールとの受講料や期間を比較して、分かりやすくご紹介します。

また、AIで転職したい人はこちらの記事もおすすめです。

高収入なAIエンジニアに転職するならPythonが有利な4つの理由
AIエンジニアに転職するならプログラミング言語「Python」を勉強した方が有利な理由をご紹介しています。
AIエンジニアの求人がさらに好待遇になる4つの理由
AIエンジニアが好待遇で求人される理由についてご紹介します。
Pocket

コメント