RaspberryPi(Raspbian)にpipをインストール
最近はPythonをインストールすると自動で入っているというPythonのパッケージ管理システム(pip)ですが、先日インストールしたRaspbian StretchにPythonのパッケージ管理システム(pip)が入っていなかったので、インストールしました。
pipが入っているか確認
pipが入っていないのは確認しましたが、一応確認方法を以下に。
Pythonのバージョン2系の場合
~$ pip --version
「コマンドが見つかりません」と怒られたら入ってません。逆に'pip x.x from ......'みたいな感じになれば入っています。
Pythonのバージョン3系の場合
~$ pip3 --version
判断方法はPython2系と同様。
pipをインストールする
pipのインストール方法は以下の2つあります。どちらかを実行すればいい。
基本的には「1.Raspbianのパッケージマネージャ(apt)からインストール」がいい。
1. Raspbianのパッケージマネージャ(apt)からインストール
今回私が実行したのはこっち。
インストール(Python2系)
・Python2の開発用パッケージをインストール
~$ sudo apt-get -y install python-dev
・Python2のpipをインストール
~$ sudo apt-get -y install python-pip
インストール(Python3系)
・Python3の開発用パッケージをインストール
~$ sudo apt-get -y install python3-dev
・Python3のpipをインストール
~$ sudo apt-get -y install python3-pip
2. インストール用のPythonスクリプトからインストール
こちらの方法は注意事項があります。
Installation — pip 19.1.1 documentationに以下の警告が書かれています。
Warning: Be cautious if you are using a Python install that is managed by your operating system or another package manager. get-pip.py does not coordinate with those tools, and may leave your system in an inconsistent state.
「OSのパッケージマネージャと連携しないので、システムが矛盾した状態になる可能性がある。」とのこと。
Pythonスクリプト(get-pip.py)をダウンロード
以下のコマンドで'get-pip.py'がダウンロードされます。
~$ wget https://bootstrap.pypa.io/get-pip.py
もしくは、Installation — pip 19.1.1 documentationから'get-pip.py'をクリック。
インストール(Python2系)
'get-pip.py'があるディレクトリで以下のコマンド。
~$ sudo python get-pip.py
インストール(Python3系)
'get-pip.py'があるディレクトリで以下のコマンド。
~$ sudo python3 get-pip.py
インストールされたか確認
インストールされなかった場合は確認する前に気づくだろうが、一応確認します。
確認
'pip'が入っているか確認したときと同じコマンドで確認してます。
今回私の環境ではPython2系とPython3系どちらも'pip 9.0.1'が入りました。
Python2系
~$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
'pip'のバージョンが表示されたのでインストールできていますね。
Python3系
~$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
Python2系同様、'pip'のバージョンが表示されたのでインストールできていますね。
余談
最近のPythonには'pip'が同封されているとどこかで見たので、どのバージョンからなのかを調べてみました。
pipが同封されたのはいつ?
- Python2系: 2.7.9以降
- Python3系: 3.4以降
らしい。
Raspbian Stretchに入ってるPythonのバージョンは?
インストールされてるPythonのバージョンを確認したけど満たしてる。
~$ dpkg -l python
~省略~
||/ 名前 バージョン アーキテクチ 説明
+++-=================-=============-=============-========================================
ii python 2.7.13-2 armhf interactive high-level object-oriented l
~$ dpkg -l python3
~省略~
||/ 名前 バージョン アーキテクチ 説明
+++-=================-=============-=============-========================================
ii python3 3.5.3-1 armhf interactive high-level object-oriented l
'pip'が入ってなかった理由は「OSのパッケージマネージャが管理している'pip'を上書きしないように配慮しているから。」らしい。
おわりに
ラズパイで自分で書いたPythonのスクリプトを実行させようとしたら'requests'なんてモジュールねーよって怒られて、'pip'も入っていないことに気づいた。
Python使うなら'pip'は、もはや必須ですよね。'pyenv'も入れようかと思ったんですが、面倒だったので、必要になったときに入れます。