pipenvというPythonの仮想環境構築ツールを使い始めました。詳細は公式を見れば良いとして分かりづらかったところのメモ書き。
書いている時点のバージョンは以下
$ pipenv –version
pipenv, version 2018.7.1
インストール
繰り返しだが詳細は上記の公式サイトのドキュメントを読めば良い。macOSの場合Homebrewとpipを使う方法があるようですが、私はPythonのバージョン管理にpyenvも使っていてHomebrewの方で入れるとバージョンが変になりそうな気がしたのでpipの方でインストールしました(Homebrewで試してはいない)。
$ pip install pipenv
すると、下記のようにpyenv配下にpipenvがインストールされてる模様。
$ which pipenv
/Users/hkuro/.pyenv/shims/pipenv
使い方
任意のディレクトリで
$ pipenv shell
とすると、”カレントディレクトリの名前-{hash}”という名前のvirtualenvが~/.local/share/virtualenvs/配下に作成される。hashの部分は詳しく調べてないけど何らかのハッシュみたいなので、別の同名ディレクトリでpipenv shellしても別のvirtualenvとして作成される(そりゃそうか)。
環境変数を設定することでカレントディレクトリに作成されるようにすることが可能(
9/21追記:任意のディレクトリでpipenv shellして環境が作成されたあと、そのディレクトリを別のパスに移動したあとにpipenv shellすると新規のvirtualenvが作成される、元の場所に戻すと前のvirtualenvに戻れるので、やはりsuffixのハッシュはカレントディレクトと連動している模様。
virtualenvから抜けるには
環境の削除
普通のvirtualenvなので、上記の~/.local/share/virutualenv/配下の該当ディレクトリを丸ごと削除すれば良さそうだけど、もしくはpipenv shellしたのと同じディレクトリでpipenv –rmとすれば対応する環境は削除される。
その他
繰り返しだが作成されるのは普通のvirtualenvなので、
$ source ~/.local/share/virtualenv/hogehoge/bin/activate
とかすれば任意のディレクトリで特定のvirtualenvに入ることもできる。
Leave a Reply