TL;DR
Python の最新のコードは、リポジトリである PyPI(パイパイ)で探し、Python パッケージのインストールは標準的に pip と venv というツールを使う。Python バージョン切り替えは pyenv を使う。
最初に、Python コードを見つける場所を説明する。
PyPI(パッケージ一覧)
PyPI(パイパイ) は ソフトウェアのリポジトリ。Python のパッケージ一覧が集められている。パッケージとは、Python のコードをまとめ再配布にしたライブラリのことである。パッケージを活用することで開発期間を短縮することができる。
以前は、モンティ・パイソン(Monty Python)にちなんで、チーズショップ(Python Cheese Shop)と呼ばれていた。Wikiによるとモンティ・パイソンは、イギリスの代表的なコメディグループ。「チーズ・ショップ」は、モンティ・パイソンがテレビシリーズ『空飛ぶモンティ・パイソン』で放送したスケッチだそうだ。私は見たことがない。
PyPI は、Python コミュニティによって開発・共有されている。全てオープンソースだ。ソフトウェア検索とインストールに役立つ。PyPI のトップページには、最新のトレンドとリリースが取り上げられている。
Python のトレンドコードを見つけるサイト
venv(仮想環境作成)
venv は、Python の仮想環境作成ツール。仮想環境を管理するための標準モジュールである。環境変数とは、OS 環境をカスタマイズするためのシステム変数だ。venv は、環境変数($PATH) を書き換える仕組みで仮想環境を実現している。
使い方は「仮想環境にしたいディレクトリ名」を記述して実行する。新規作成のコマンドは次のとおりである。コマンドを叩くことで、指定したディレクトリの中にファイルが配置される。
# 新規作成
python3 -m venv 仮想環境にしたいディレクトリ名
# ディレクトリに移動
cd 仮想環境にしたいディレクトリ名
# 可動
source bin/activate
# 仮想環境を終了する
deactivate
pip(パッケージ管理)
Python のパッケージ管理ツール。パッケージをインストールするときは pip install コマンドを使う。pip は PyPI にパッケージを探しに行く。バージョンを指定しない場合、最新バージョンがインストールされる。アンインストールした場合、依存関係にあるパッケージは残されてしまうので、その仮想環境ごと破棄するとよい。
パッケージの操作方法一覧
# インストール
pip install パッケージ名
# 特定のバージョンをインストールする
pip install flask==0.9.0
# 最低限のバージョンをインストールする
pip install 'flask>=0.9.0'
# ライブラリの最新版アップデート
pip install -U pip
# インストールされたバージョン一覧
pip list
# バージョン表示
pip -V
# パッケージをアップグレード
pip install --upgrade パッケージ名
# アンインストール
pip uninstall プロジェクト名
複数のパッケージをインストールする
requirements.txt ファイルを使って、複数のパッケージを指定することができる。requirements.txt を指定すると、そのファイルに書かれたパッケージがインストールされる。requirements.lock を指定し実行すると、実行環境が再現される。
freez を指定すると、これまでにインストールしたライブラリが一覧で出力される。
# インストール
pip install -r requirements.txt
# 書き込み
pip freeze > requirements.txt
# 環境を再現
pip install -r requirements.lock
Pipenv(pip に似たもの)
Pipenv は pip を使いやすくしたもの。pip と venv を結合したようなモジュールである。pip と混在させても問題ないが、pip に不自由を感じなければインストールする必要はないと思う。
公式では、次のように記されている。
Pipenv は、手動でパッケージのインストールおよびアンインストールを行うのと同じように Pipfile に対してパッケージの追加および削除を行うのに加え、自動でプロジェクト用の仮想環境を作成し管理します。また Pipenv は、いかなるときも重要な Pipfile.lock を生成し、これを利用しビルドが常に同じ結果になるようにします。
インストール
brew install pipenv
パッケージ インストール
pipenv install パッケージ名
pyenv(環境切り替え)
pyenv は、1 台のパソコンで複数バージョンの python 環境を簡単に切り替えることができる。
特徴は次のとおり
- ユーザーに応じてグローバル Python バージョン変更
- Python バージョンを環境変数で上書きできるように変更する
- プロジェクトごとの Python バージョンのサポートを提供
- 一度に複数のバージョンの Python からコマンドを検索
- Python 自体に依存する
- virtualenv を管理する
インストール
brew update
brew install pyenv
# Python3 に切り替え
pyenv global 3.9.6
スムーズに適用されない場合があるので、バージョンを適用させるときの方法を、次の別ページで詳しく解説した。