Python: 環境開発の方法(パッケージのインストール、venv、pip、pyenv など)

TwitterFacebookHatena
  • 公開:2021-11-17
  • 更新:2023-10-26
  • 文章量:2612
  • Python

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

pip documentation v21.3.1

Pipenv(pip に似たもの)

Pipenv は pip を使いやすくしたもの。pip と venv を結合したようなモジュールである。pip と混在させても問題ないが、pip に不自由を感じなければインストールする必要はないと思う。

公式では、次のように記されている。

Pipenv は、手動でパッケージのインストールおよびアンインストールを行うのと同じように Pipfile に対してパッケージの追加および削除を行うのに加え、自動でプロジェクト用の仮想環境を作成し管理します。また Pipenv は、いかなるときも重要な Pipfile.lock を生成し、これを利用しビルドが常に同じ結果になるようにします。

Pipenv

インストール

brew install pipenv

パッケージ インストール

pipenv install パッケージ名

pyenv(環境切り替え)

pyenv は、1 台のパソコンで複数バージョンの python 環境を簡単に切り替えることができる。

pyenv

特徴は次のとおり

  • ユーザーに応じてグローバル Python バージョン変更
  • Python バージョンを環境変数で上書きできるように変更する
  • プロジェクトごとの Python バージョンのサポートを提供
  • 一度に複数のバージョンの Python からコマンドを検索
  • Python 自体に依存する
  • virtualenv を管理する

インストール

brew update
brew install pyenv

# Python3 に切り替え
pyenv global 3.9.6

スムーズに適用されない場合があるので、バージョンを適用させるときの方法を、次の別ページで詳しく解説した。

参考:pyenv - Python をインストールした後でバージョンが適用されない場合の対処法

Python: 環境開発の方法(パッケージのインストール、venv、pip、pyenv など)