【ラズパイ】Raspberry PiにpipでNumpyがインストール出来ない場合の対処法【Ruspbian】
環境情報
・Raspberry Pi4 ModelB
・Visual Studio Code
・Python Vetsion 3.7.1
Raspberry PiにVSCodeをインストールし、仮想環境を構築しながら必要なモジュールをインストールする時に発生しがちな事象と対処法をご紹介します。
※Raspberry PiにVSCodeをインストールする方法は別記事をご覧ください。

WindowsやMacでは問題無いですが、
Raspberry Pi等のLinuxを使用する場合、ライブラリやモジュールのインストールには注意が必要です。
試しに、WindowsやMacと同じように、VSCodeのターミナルでpip install numpyを実行してみました。
※環境を合わせるため、Raspberry Piの方でも仮想環境(vanv)を構築しactivateしてあります。

ImportError:
Importing the multiarray numpy extension module failed. Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control). Otherwise reinstall numpy.
Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory
このようなエラーが返ってきました。
エラーの内容には違いがあるかもしれませんが、
pipによるインストールは上手く動かない
ということを感じていただければOKです。

Linuxでのインストール
LinuxではWindowsやMacと異なる部分が多々あります。
Raspbian やCentOS、ubuntu、Mint等がLinux系のOSです。
Linux系OSでインストールを行う際は、
・pip
・apt-get
の2種類があります。
pythonで高度演算処理を行うために必要なライブラリ
Numpy、pandas、OpenCV等は容量も大きいため、apt-getを使用する方が時間効率が良いです。
pipを使用する場合、ビルドから始まってしまうので、非常に時間がかかってしまいます。

仮想環境ではなく、OSに直接インストールする際は下記のコードだけで可能です。

# Numpy
sudo apt-get install python3-numpy
# PIL
sudo apt-get install python3-imaging
# Pandas
sudo apt-get install python3-pandas
# Maplotlib
sudo apt-get install python3-matplotlib
# OpenCV
sudo apt-get install libopencv-dev
sudo apt-get install python3-opencv
ですが、
仮想環境を構築し、VSCode上で必要なモジュールをインストールする場合、上記だと上手くいかないことがあります。
Libにnumpyがあるにも関わらず、import numpyでModuleNotFoundErrorが発生してしまう等ですね。
その場合は、VSCodeのターミナル上で下記を実行してください。

sudo apt-get install python-dev libatlas-base-dev
上記でもエラーが変わらない場合、
既にpipでインストールしているnumpyを削除し、下記のコマンドを実行してください。

sudo apt update & sudo apt install -y python3-numpy
これでLinuxOSの仮想環境でもライブラリやモジュールを正しく使用することが出来るようになります。
