Think Twice
IT技術メモ | Pythonのメモ
Created: 2021-10-14 / Updated: 2023-04-14

pipのメモ


目次


pipとは

バージョン確認(-V)

まずはバージョン確認ですね。
バージョン確認には-Vオプションを使います。

Copy
$ pip -V
pip 20.3.1 from /home/fumo/.local/lib/python3.8/site-packages/pip (python 3.8)

インストール済みのパッケージを確認(list, freeze)

インストール済みのパッケージを確認するにはlistfreezeコマンドを使います。
両者は表示のされ方がちょっと違います。

list
Copy
$ pip list
Package                Version
---------------------- --------------------
astroid                2.4.2
attrs                  19.3.0
Automat                0.8.0
beautifulsoup4         4.9.3
blinker                1.4
   :
   : (省略)
   :
freeze
Copy
$ pip freeze
astroid==2.4.2
attrs==19.3.0
Automat==0.8.0
beautifulsoup4==4.9.3
blinker==1.4
   :
   : (省略)
   :

パッケージをインストールする(install)

パッケージをインストールするにはinstallコマンドを使います。
ここでは例としてnumpyをインストールしています。

Copy
$ pip install numpy
Defaulting to user installation because normal site-packages is not writeable
Collecting numpy
  Downloading numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.8 MB)
     |████████████████████████████████| 15.8 MB 925 kB/s
Installing collected packages: numpy
Successfully installed numpy-1.21.2

バージョンを指定してインストールするには以下のようにします。

Copy
$ pip install 'numpy==1.21.2'

パッケージを更新する(install --upgrade)

パッケージを更新する場合はinstallコマンドに--upgradeオプションを付けて使います。

Copy
$ pip install --upgrade numpy

パッケージをアンインストール(uninstall)

パッケージをアンインストールするにはuninstallコマンドを使います。

Copy
$ pip uninstall numpy

-yオプションを付けると、確認をスキップしてアンインストールできます。

Copy
$ pip uninstall -y numpy

パッケージを一括でインストールする(requirements.txt)

requirements.txtの例
Copy
autopep8==2.0.2
pycodestyle==2.10.0
PyYAML==6.0
toml==0.10.2

freezeコマンドを利用

一括インストール(install -r)

バージョンの書き方

パッケージをローカルにダウンロードしてインストールする

ネット環境が使えない場合など、一度パッケージをwhl形式でダウンロードしておいて、インストールすることが可能です。

1. whlをダウンロードする

ダウンロードするにはdownloadコマンドを使います。
ここでは例としてpandasをダウンロードしています。

Copy
$ pip download pandas
Collecting pandas
  Downloading pandas-1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB)
     |████████████████████████████████| 11.5 MB 1.5 MB/s
Collecting numpy>=1.17.3
  Using cached numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.8 MB)
Collecting python-dateutil>=2.7.3
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     |████████████████████████████████| 247 kB 1.9 MB/s
Collecting pytz>=2017.3
  Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
     |████████████████████████████████| 503 kB 1.8 MB/s
Collecting six>=1.5
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Saved ./pandas-1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Saved ./numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Saved ./python_dateutil-2.8.2-py2.py3-none-any.whl
Saved ./pytz-2021.3-py2.py3-none-any.whl
Saved ./six-1.16.0-py2.py3-none-any.whl
Successfully downloaded pandas numpy python-dateutil pytz six

ダウンロードしたwhlファイルはカレントディレクトリに置かれます。

Copy
$ ls
numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
pandas-1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
python_dateutil-2.8.2-py2.py3-none-any.whl
pytz-2021.3-py2.py3-none-any.whl
six-1.16.0-py2.py3-none-any.whl

2. whlをインストール

ローカルに落としてきたwhlファイルを指定してインストールしていきます。
以下2つのオプションを使います。

Copy
pip install --no-index --find-links=<whlファイルへのパス> <モジュール名>

上でダウンロードしたものを/tmp/whlに置いてある想定なら、以下のようなコマンドになります。

Copy
$ pip install --no-index --find-links=/tmp/whl/numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl numpy
$ pip install --no-index --find-links=/tmp/whl/pandas-1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl pandas
$ pip install --no-index --find-links=/tmp/whl/python_dateutil-2.8.2-py2.py3-none-any.whl python_dateutil
$ pip install --no-index --find-links=/tmp/whl/pytz-2021.3-py2.py3-none-any.whl pytz
$ pip install --no-index --find-links=/tmp/whl/six-1.16.0-py2.py3-none-any.whl six

参考

関連メモ

参照

参考サイト


  1. 名前は任意です。requirements.txtでなくても好きな名前で大丈夫です。 ↩︎