【ラズパイ】Raspberry PiにpipでNumpyがインストール出来ない場合の対処法【Ruspbian】

【ラズパイ】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の仮想環境でもライブラリやモジュールを正しく使用することが出来るようになります。

講師
講師