【OpenCV】【numpy】OpenCVをインストールする時にエラーが出てハマった（未解決）

# -
RaspberryPiでOpenCVを使おうとした時にハマったので備忘録として書く。
エラー部分はnumpy
（8/27　現在未解決）

# 環境
- Raspbian GNU / Linux 9.8(stretch)
- Python 3.7.4

# インストール

```
pi@pi:~ $pip install opencv-python

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting opencv-python
  ERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)
ERROR: No matching distribution found for opencv-python
```
エラーが出た。
調べてみると`opencv-python`はARMアーキテクチャを適切にサポートしていなくPyPIにはARMベースのプラットフォーム用のパッケージがないらしい。
しかし[ここから](https://www.piwheels.org/)RaspberryPi用のパッケージが入手できると書いてあったので飛んでみる。
サポートに書いてあったのは
>Wheels provided support all Raspberry Pi models (Pi 3, Pi 2, Pi 1 and Pi Zero). Wheels are provided for Raspbian Jessie (Python 3.4) and Raspbian Stretch (Python 3.5). We plan to add support for Raspbian Buster (Python 3.7) in due course.

全く読めないのでGoogle翻訳すると
>提供されるホイールは、すべてのRaspberry Piモデル（Pi 3、Pi 2、Pi 1およびPi Zero）をサポートします。Raspbian Jessie（Python 3.4）およびRaspbian Stretch（Python 3.5）用のホイールが提供されています。まもなくRaspbian Buster（Python 3.7）のサポートを追加する予定です。

（2019/08/25 現在）
とのこと。
そもそもStretchにPython3.7.4をインストールしてることが間違っていたのかな？
けどもう少しでRaspbian Buster（Python 3.7）をサポートするってことで素直に3.5で再試行してみる。

# バージョンを切り替える

**バージョンの確認**

```
pi@pi:~ $python --version
Python 3.7.4
```

**3.5.3をインストール**

```
pi@pi:~ $pyenv install 3.5.3 
Downloading Python-3.5.3.tar.xz...
-> https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tar.xz
Installing Python-3.5.3...
Installed Python-3.5.3 to /home/pi/.pyenv/versions/3.5.3
```
時間はかかったがインストール完了。

**バージョンを3.5.3にする**

```
pi@pi:~ $pyenv global 3.5.3
pi@pi:~ $python --version
Python 3.5.3
```

バージョンが3.5.3に切り替わったのでもう一度インストールしてみる。

# 再試行

色々怒られていたがとりあえずインストールできた。

# 動作検証
やっと動かせれる！
と思ったがまたここでエラーが出る
Pythonシェルで``import cv2``を叩くと

```
ImportError: libhdf5_serial.so.100: cannot open shared object file: No such file or directory
```
と出る。
``libhdf5_serial``
多分こいつがないよって言ってるんだろうと思い調べてみる。

``sudo apt-get install libhdf5-serial-dev``
これでインストールできるらしいのでインストールして再試行

```
ImportError: libcblas.so.3: cannot open shared object file: No such file or directory
```

またかよ

と思ったら何個かインストールしないと同じことが起こるらしい。

``sudo apt-get install -y libcblas-dev libhdf5-dev libhdf5-serial-dev libatlas-base-dev libjasper-dev  libqtgui4  libqt4-test``
この何個かのパッケージをインストールして再々試行

```
ImportError: numpy.core.multiarray failed to import
```

これはnumpyのバージョンが古い時に出るエラーらしい。
アップグレードする。

```
pi@pi:~ $pip install numpy --upgrade
```

``import numpy``

```
ImportError: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy c-extensions failed.
- Try uninstalling and reinstalling numpy.
- If you have already done that, then:
  1. Check that you expected to use Python3.5 from "/home/pi/.pyenv/versions/3.5.3/bin/python",
     and that you have no directories in your PATH or PYTHONPATH that can
     interfere with the Python and numpy version "1.17.0" you're trying to use.
  2. If (1) looks fine, you can open a new issue at
     https://github.com/numpy/numpy/issues.  Please include details on:
     - how you installed Python
     - how you installed numpy
     - your operating system
     - whether or not you have multiple versions of Python installed
     - if you built from source, your compiler versions and ideally a build log

- If you're working with a numpy git repository, try `git clean -xdf`
  (removes all files not under version control) and rebuild numpy.

Note: this error has many possible causes, so please don't comment on
an existing issue about this - open a new one instead.

Original error was: /home/pi/.pyenv/versions/3.5.3/lib/python3.5/site-packages/numpy/core/_multiarray_umath.cpython-35m-arm-linux-gnueabihf.so: undefined symbol: cblas_sgemm
```

これでハマった。

numpyを一旦アンインストールしもう一度インストールしてみても同じエラーが出る。

# 未だに解決できない
多分サイトを飛んで色々試してるうちに``sudo pip install　...``やらを繰り返しシステムが衝突してるのが原因なのか。。。
調べて試していても今回のエラーはなかなか解決ができない
路頭に迷った。。。
かれこれ２日同じ状況だから再インストールも検討しよう。。