Python の開発環境を構築する

2023-11-24

#Python

#環境構築

最低限の環境構築手順をまとめる

Overview

Python するか…となったとき、毎回全てを忘却していて調べ直すので、最低限の環境構築手順をまとめておく

Flow

Python のインストール

Python の 公式ページ からダウンロードしてインストールする

途中、環境変数に追加する旨のオプションを選択するのを忘れない
Add Python 3.x to PATH とか Add Python to environment variables とか
地味に文言が変わっている

python コマンドで MS Store に飛ばされなければ完了

Terminal window
python
Terminal window
py

大体 pip が更新されているので、ついでに更新する

Terminal window
pip install --upgrade pip

仮想環境の作成

プロジェクトディレクトリを作成し、カレントディレクトリにする

Terminal window
ni -type dir <project_name> | cd

venv

Python 標準モジュールの venv で仮想環境を作成する場合

環境作成

仮想環境を作成
末尾のファイル名は任意

Terminal window
py -m venv .env

git から除外したいときは、仮想環境ディレクトリ下に .gitignore も作成しておく

Terminal window
ni .env/.gitignore -V "*"

仮想環境を有効化
ターミナルの行先頭に (.env) のように仮想環境ディレクトリ名が表示される

Terminal window
./.env/Scripts/activate

任意のパッケージをインストール

Terminal window
pip install <target_package>

インストールされているパッケージの一覧を確認

Terminal window
pip list

仮想環境を終了

Terminal window
deactivate
パッケージ管理ファイルの作成

requirements.txt にインストールされているパッケージ一覧が出力される

Terminal window
pip freeze > requirements.txt

requirements.txt からパッケージを一括インストール

Terminal window
pip install -r requirements.txt

Pipenv

Python 依存関係管理ツールの Pipenv で仮想環境を作成する場合

Pipenv のインストール
Terminal window
pip install --user pipenv
パッケージのインストール

パッケージのインストール時、Pipfile と仮想環境がなければ同時に生成される

任意のパッケージをインストール

Terminal window
pipenv install <target_package>

開発時にのみ使用する、任意のパッケージをインストール

Terminal window
pipenv install --dev <target_package>
Python プログラムの実行

生成された仮想環境を使って、Python プログラムを実行する

Terminal window
pipenv run py <target_python_file>

または、生成された仮想環境内に shell を起動して、プログラムを実行する

Terminal window
pipenv shell
Terminal window
py <target_python_file>

仮想環境内の shell を終了する

Terminal window
exit
仮想環境の管理

デフォルトでは、仮想環境は共通のディレクトリに生成される
プロジェクトディレクトリ直下に生成したい場合は、環境変数に PIPENV_VENV_IN_PROJECT=1 を設定しておく

Pipfile から仮想環境を生成する
Pipfile.lock がある場合は、優先的に参照される

Terminal window
pipenv install

Pipfile から開発用の仮想環境を生成する

Terminal window
pipenv install --dev

仮想環境のパスを表示する

Terminal window
pipenv --venv

仮想環境を削除する

Terminal window
pipenv --rm

Pipfilerequirements.txt に変換する

Terminal window
pipenv lock -r

Afterword

個人で使う分にはどちらでも良いかな
チームで環境を共有したいようなときには、Pipenv の方が使いやすいかも

Ref