

anacodaインストール時の私の脳内のイメージについてご指摘ください。  
OSはCドライブにインストール、anacondaはDドライブにインストールにしているとしてください。

anacondaを用いた仮想環境について以下の画像のようにイメージしています。  
画像内では使用する言語をpythonとしています。また図、中右の枠のアナコンダがanaconda promptで表示される(base)環境です。  
―――①ここまで正しいですか？？

仮想環境を作ったあと、例えば仮想環境1や仮想環境2に、新たにライブラリをインストールします。  
―――②このときこのライブラリがインストールされるのはどこですか？

[![画像の説明をここに入力](https://i.stack.imgur.com/zpefV.png)](https://i.stack.imgur.com/zpefV.png)


CC BY-SA 4.0
2021-10-05T15:44:11.887
82895
2023-03-02T02:24:25.227
2023-03-02T02:24:25.227
3060
48018
question
python anaconda
Anacondaでの仮想環境の仕組みやライブラリのインストール先について知りたい


この辺の記事が参考になるでしょう。  
[【初心者向け】Anacondaで仮想環境を作ってみる](https://qiita.com/ozaki_physics/items/985188feb92570e5b82d)  
[Anaconda仮想環境について](https://qiita.com/yakisobamilk/items/867dce8e53824146ce05)  
[conda環境でのpython構築（コマンド、仮想環境等）](https://zenn.dev/coco9122/articles/2c3f57ae367bc4)  
[Conda コマンド: Python環境構築ガイド](https://www.python.jp/install/anaconda/conda.html)

* * *

①ここまで正しいですか？？

→はい、正しいでしょう。  
最初の紹介記事の図などを参照してください。

②このときこのライブラリがインストールされるのはどこですか？

→インストールを行う時点で`activate`されていた環境に入ります。

* * *

コメントに対応：

何処にインストールされているかは、Anaconda Prompt(anaconda3)を起動し、さらに対象の環境をアクティベートしてから`conda
info --envs`を実行すると見ることが出来るでしょう。  
[condaでバージョン確認、インストール、アップデート](https://deepblue-ts.co.jp/python/conda-comand-
basic/)  
[Anacondaの仮想環境が作られる標準のディレクトリを変更する](https://blog.sgry.jp/entry/2018/10/09/000000)  
[Anacondaのcondaコマンドによる仮想環境の使い方のまとめ](https://minus9d.hatenablog.com/entry/2016/01/29/235916)

それからダウンロードと言う意味ではパッケージキャッシュという所にも読み込まれています。  
`conda info`や`conda config --show pkgs_dirs`を実行することで、そのフォルダが何処に有るかを見ることが出来ます。


CC BY-SA 4.0
2021-10-05T16:15:10.560
82896
2021-10-06T08:31:01.870
2021-10-06T08:31:01.870
26370
26370
82895
answer


【Python環境】に話を限ると正しくないように感じます。

`/a/b/c/d/bin`にpython実行ファイルやpip実行ファイルがあるとします。  
そこのpip実行ファイルでパッケージをインストールすると、`/a/b/c/d/lib/pythonX.Y/site-
packages`というディレクトリにファイルが置かれます。（X.Y はバージョン番号）  
そこのpython実行ファイルを起動すると（特別なオプションを付けたりしなければ）上記のディレクトリがパッケージの探索パスに追加されます。

pipの実行ファイルにはそれに対応したpython実行ファイルが存在し、  
python実行ファイルにはそれに対応したsite-packagesディレクトリが存在する、  
実のところ【Python環境】と呼ばれている概念はただこれだけの仕組みの上で成り立っています。

* * *

【仮想環境】と呼ばれているものは、すごく簡単には`/a/b/c/d/bin`や`/a/b/c/d/lib/pythonX.Y/site-
packages`というような **ディレクトリ構造を準備して** 、`/a/b/c/d/bin`にpython実行ファイルやpip実行ファイルを
**配置する** というだけのことです。  
そして、【仮想環境を切り替える】という行為は、単純に`/a/b/c/d/bin`というパスが他の場所よりも **優先されるようにする**
というだけの話です。  
（プロンプトの変更はもののついでです）

【Python環境】に限って言えば、【普通のPython環境】と【AnacondaのPython環境】を分けて考える理由は
なく、コマンドのオプションや使い方、 **どこに** ディレクトリを作るかという違いなどはありますが仕組みが違うということはないように感じます。

* * *

Anacondaの特徴は【Python環境】以外にあります。AnacondaはPython **以外の** バイナリイメージも提供しているからです。

Python用のパッケージで、C言語で書かれた（Unix系OSの用語としての）ライブラリがまずあって、それへのアクセス用インタフェースだけを提供しているようなものがあります。  
その場合、C言語で書かれたライブラリを先にインストールして使える状態にしておかなければなりません。  
そういったものでWindowsだと準備が大変だったりするものでも、AnacondaならAnacondaのディレクトリの中にコンパイル済みバイナリをインストールしてくれるという利点があります。  
そのようなバイナリファイル群に関しても、OSとは切り離された閉じた環境を楽に作れるのがAnacondaの特徴です。

（最近はpipでインストールした時も、必要なバイナリをsite-
packages配下に入れてくれるケースも増えているので、昔よりAnacondaのありがたみは薄れたように感じます）


CC BY-SA 4.0
2021-10-06T14:48:00.360
82924
2021-10-06T14:48:00.360
12274
82895
answer