[メモ] Pipenv like venv


前置き

個人的にはvenv派だがプロジェクトで使うことになったので、ちょっと調べてまとめた。

インストール

まずはインストール

pip install pipenv

設定

そのままだと変なところに仮想環境が作られるので以下のコマンドで作業ディレクトリ内に作られるようにする。
参考: [Python] Pipenvで仮想環境をプロジェクトディレクトリ配下に作る方法

export PIPENV_VENV_IN_PROJECT=true

仮想環境の作成

任意のディレクトリで以下のコマンドを実行

pipenv install --python 3.9

--python で使うpythonのバージョンが指定できるらしい

環境への出入り

よく目にするのは任意のディレクトリで以下のコマンド

project $ pipenv shell

ここでよく起こるエラー

Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
No action taken to avoid nested environments.

exitしてから入るといける

exit
project $ pipenv shell

しかも関係ないところで間違えてpipenv shellを実行すると
そこに仮想環境が勝手に作られることがある。

venvユーザとしてはsourceでアクティベート出来た方が楽だなと思ったので、いろいろやってみたら出来た。

source /etc/foo/.venv/bin/activate
(foo) $~

pipenv はpipとvirtualenvがセットになったものらしく、
venvはvirtualenvの一部機能を切り出したものらしいのでつまり行けると。
詳しいことは調べて

出るときはdeactivateで出れる。

Pipenvを触ってみて

最初はsourceで仮想環境に入ることが知らなかったので、不便だと感じていたが、
sourceが使えればまあvenvと使い方が基本一緒なので、問題なさそう。

まあPipenvをわざわざ使う必要があるのかはまた今度記事を読み漁ることにする。