LoginSignup
1
0

More than 3 years have passed since last update.

Windows10でpip installしたときSSL周りで怒られたので解決法をメモ

Posted at

普段macOS使いなのですが、Windows 10の環境で機械学習環境を構築したらちょっとつまづいたので備忘録的にメモ。

OpenCV のインストール

まずはanaconda…は重いのでminicondaをインストール。

インストール先はデフォルトの通りユーザーフォルダの下 C\:Users\kmotohas\Miniconda3 としました。

condaコマンドを使えるように、 C\:Users\kmotohas\Miniconda3\condabin を環境変数 Path に追加。
同様にpipコマンドを使えるように、C\:Users\kmotohas\Miniconda3\ScriptsPath に追加。

これでpipが使えるようになったので試しにOpenCVをインストールしてみると、エラーが出ました。
(色々事情があるので、初めからcondaでインストールすればいいだろうというツッコミは勘弁)

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

SSL周りで怒られているので、condaでopensslをインストールしたら問題なく動作しました。

$ conda install openssl
...
$ pip install opencv-python
...

しかし、PythonのインタープリターからOpenCVをインポートしようとするとnumpy周りでエラーが出ます。

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\kmotohas\Miniconda3\lib\site-packages\cv2\__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: numpy.core.multiarray failed to import

これはnumpyをアンインストールしてからインストールしなおすと解決します。

$ pip uninstall numpy
...
$ pip install numpy
...

という感じで、僕のWindows 10の初期設定でつまづいた点でした。

関係ないけど…

condaとpipでインストールしたnumpyは実は中身違うので注意が必要です。

numpyはご存知行列計算ライブラリなわけですが、裏で使われている行列演算の実装が異なります。

pip install numpy -> OpenBLAS
conda install numpy -> MKL (多分使っているマシンのCPUがIntel製の場合のみ。ARM CPUだったら何が使われるのでしょう。)

condaとpipの使い分けにはご注意を。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0