venvとvirtualenvの違い
これらは似ているのではなく、
virtualenvの一部機能がvenvとして切り出されて、それは標準に取り込まれた
virtualenvは引き続きその他の機能を有しており、実際2020現在も開発は継続されているっぽい
python descovery
creators
seeders
activators
などの機能があるが、miyamonz.iconは使ってないのでよく分からんmiyamonz.icon
仮想環境の管理という点において
python自体を仮想環境に置くかどうかのデフォルトの挙動が違う
venvだと、実行時のpythonのシムリンクが作成される
virtualenvだとpython本体も仮想環境に置かれる→pythonのバージョンも管理される、といえる
ただvenvでも--symlinkと--copiesオプションで決められる
--copiesの場合、python -m venv --copies hogeした際のpythonが仮想環境内にバイナリとしてコピーされる
venvはpython管理してないのか?と言えるのかはよく分からん
つまり、virtualenvはpyenvと役割が被っているとも言える
実は世界的にはvirtualenvのほうが優勢
venvのsymlinkの挙動確認
pyenv使ってる
$ type python
python は /Users/miyamonz/.anyenv/envs/pyenv/shims/python です
そのときに作成したvenvのbin
code:bash
lrwxr-xr-x 1 miyamonz staff 60 6 3 17:39 python@ -> /Users/miyamonz/.anyenv/envs/pyenv/versions/3.7.4/bin/python
lrwxr-xr-x 1 miyamonz staff 6 6 3 17:39 python3@ -> python
先程typeで確認したpyenvのシムではなく、実体へのシムリンクになった