turtlechanのブログ

無知の私がLinuxをいじりながら書いていくブログ

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)からインストール
  2. インストール用のPythonスクリプトからインストール

基本的には「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'をクリック。

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'も入れようかと思ったんですが、面倒だったので、必要になったときに入れます。