envで環境を作るとプロジェクトフォルダ内にenvフォルダができますが、condaで作った環境のフォルダが見つかりません。
envで作った仮想環境での、user/project/venvではprojectフォルダの下にvenvがあることでprojectフォルダが一つの仮想環境のなるという認識で正しいでしょうか?(.gitのようなイメージ)
condaで環境を作るとuser/project/app.pyなどproject直下にpythonファイルなどがありますが、仮想環境のフォルダがないので、どこにあるのか、envで作った時とは違う構造なのかと疑問に感じています。
condaの場合どこに環境があるのか、またenvとは違う働き方なのか、教えていただけないでしょうか?
> condaの場合どこに環境があるのか
既にcondaで仮想環境を作成済みなら、
conda info -e
で場所が表示されるはずです
https://kazu-oji.com/conda-manageenv-etc/
当方のmacで実行したら、下記のようになります
「base」の右に「*」が付いてるのは、その時に「base環境」が有効になってるという意味です
# conda environments:
#
base * /Users/XXX/anaconda3
py27 /Users/XXX/anaconda3/envs/py27
tmp /Users/XXX/anaconda3/envs/tmp
「conda activate tmp」で「tmp環境」を有効にしてから「conda info -e」を実行したら、下記のように「tmp」の右に「*」が付きます
# conda environments:
#
base /Users/XXX/anaconda3
py27 /Users/XXX/anaconda3/envs/py27
tmp * /Users/XXX/anaconda3/envs/tmp
> condaで環境を作るとuser/project/app.pyなどproject直下にpythonファイルなどがありますが
当方のmacのanacondaで、環境を切り替えた場合に使われるpython(とpython3)コマンドを「which -a」で調べた結果は、下記の通り
複数ある場合は、一番上のが使われます
[base環境]
(base) YYY:Downloads XXX$ which -a python
/Users/XXX/anaconda3/bin/python
(base) YYY:Downloads XXX$ which -a python3
/Users/XXX/anaconda3/bin/python3
/usr/local/bin/python3
/usr/bin/python3
[tmp環境]
(tmp) YYY:Downloads XXX$ which -a python
/Users/XXX/anaconda3/envs/tmp/bin/python
(tmp) YYY:Downloads XXX$ which -a python3
/Users/XXX/anaconda3/envs/tmp/bin/python3
/usr/local/bin/python3
/usr/bin/python3
上記で分かるように、「tmp環境」を有効にしてる場合は「.../anaconda3/envs/tmp/bin」のpython(とpython3)コマンドが使われます
「.../anaconda3/envs/環境名/bin」に、その環境が有効な時だけ使われるコマンドが入ってます
> envで環境を作ると
conda env createのこと……?
だとすると
> condaで環境を作ると
はどういう意味……? となりました。
(envで環境を作る は python -m venv かな? とか思ったりも)
実行する(した)コマンドを「○○で△△する」などと日本語で説明してしまうと"人の解釈"が入ってしまって質問には適切ではないなと思いました。コマンド全体を記載する方がよさそうです。
追記: conda env create はなかった。conda createだった。だとすると「envで環境を作る」はじっさい何を言おうとしているのか……?
もしかして、「venv」と「conda」のそれぞれで仮想環境を作ってるのでしょうか?
もしそうなら、それやっちゃダメです
https://www.python.jp/install/anaconda/conda_and_venv.html
