pip¶
pip
はインターネットで公開されている Python パッケージを取得するためのパッケージ管理ツールです。
使い方¶
requests という HTTP に関する機能を取り扱う有名なライブラリがあります。これを pip
で取得して使ってみましょう。
ターミナル上で次のコマンドを実行して下さい。
$ pip3 install requests
成功したら次のようなソースコードを書いてみましょう。
#!/usr/bin/env python
import requests
def main():
response = requests.get('http://example.com')
print(response.text)
if __name__ == '__main__':
main()
実行すると http://example.com のページの HTML 文字列が出力されると思います。
PyPI¶
pip
によってインストールされるパッケージはどこから取得されているのでしょうか。 Python は PyPI というパッケージを登録しておける Web サイトがあり、 pip
を実行すると PyPI からパッケージがインストールされます。上記の requests も下記の通り PyPI に登録されています。
freeze¶
インストール済みのパッケージ一覧を確認するには freeze
というコマンドを実行します。
$ pip3 freeze
certifi==2019.3.9
chardet==3.0.4
idna==2.8
requests==2.21.0
urllib3==1.24.1
requests
とその依存パッケージがバージョン番号とともに表示されます。
requirements.txt¶
インストールしたいパッケージをあらかじめファイルに列挙しておき、そのファイルを指定することでもインストールすることができます。インストールしたいパッケージを記述したファイルは通常 requirements.txt
という名前で保存します。requirements.txt
を指定してインストールをするには次のようにします。
$ pip3 install -r requirements.txt
requirements.txt
は自分の環境にパッケージをインストールする目的で使用することはあまりありません。むしろ他の人の環境で自分が使っているパッケージをインストールして欲しいときに使用します。また requirements.txt
は手で作成する必要はなく、pip freeze
の結果を保存しておくだけで使用できます。pip freeze
の結果にあるような ==version
という形式のものを pip
でインストールすると指定されたバージョンをインストールしてくれるため、自分で入れたバージョンと全く同じものを他の人の環境でもインストールしてもらえるようになり、環境差分をなくすことができます。
まとめるとパッケージ管理は次のような手順で行うことになります。
自分の環境
$ pip3 install name1 name2 ...
$ pip3 freeze > requirements.txt
requirements.txt
は Git などでバージョン管理をしておきます。
他の人の環境
$ pip3 install -r requirements.txt