最近、pythonの開発環境の構築のためにpipenvを利用しています。
pipenvを利用していてよく調べるコマンドや小技についてまとめています。
この記事では、Ubuntu22.04での実行を想定していますが、特にディストリビューションの制約はないはずです。
pipenvのインストール
pipコマンドでインストール可能です。
pip3 install pipenv
次に、PATHに登録します。自分はzshを利用しているので~/.zshenvに追記していますが、bashの場合は~/.bashrcなどに追記してください。
echo 'export PATH=$PATH:/home/username/.local/bin' >> ~/.zshenv
書き込んだ設定ファイルを読み込みます。
source ~/.zshenv
利用頻度の高いpipenvコマンド
pipenvでよく利用するコマンドについてまとめます。
仮想環境の作成
pythonのバージョンは適宜変更してください。
# 空のpipenv環境を作成
$ pipenv --python 3.8
# Pipfileからpipenv環境を作成
$ pipenv install
# Pipfile.lockからpipenv環境を作成
$ pipenv sync
pipenv環境でのプログラム実行
pipenv run python main.py
pipenv環境のシェルに入る
pipenv shell
パッケージのインストール
$ pipenv install <package>
$ pipenv install --dev <pacakge> # 開発用にだけパッケージをインストールする場合
パッケージの削除
pipenv uninstall <package>
パッケージ間の依存関係を表示
pipenv graph
仮想環境の削除
pipenv --rm
便利な小技
スクリプトの登録
プログラムを別名で実行できるようにするためには、Pipfileに[scripts]
を追加します。
$ vim Pipfile
...
[scripts]
main = "python main.py"
下記で、mainを実行
# 下記は、pipenv run python main.pyと同じ
$ pipenv run main
環境変数の管理
Pipenvではプロジェクト内の.envファイルを自動で読み込んで環境変数を設定できます。
$ vim .env
VAR_ENV=varenv
作成済み仮想環境の場所
vscodeでpythonの実行環境を指定するときに、仮想環境のパスが必要になりますが、下記がubuntu20.04を利用しているときのデフォルトの保存先です。
/home/hoge/.local/share/virtualenvs/...