I had a similar question and found the following two helpful resources: the accepted answer here and this video (as well as the other ones on the same site).
In the following answer I'm assuming the Linux file system, because I am more familiar with it. You seem to use Windows, so there could be subtle differences. (The most obvious one: Linux uses slashes /
, Windows uses backslashes \
.)
As I understand it (correct me if anything's wrong):
./pkgs
contains all the packages you ever downloaded for any environment (unless you actively delete them of course). This ensures that you don't have to download and save the same package again for another environment../envs
contains your environments (other than the base
environment). Say one such environment is called heatwave
(others use snowflake
as an example, but the times they are a-changin'). Then ./envs/heatwave
contains subdirectories like ./envs/heatwave/bin
and ./envs/heatwave/lib
. (I suppose Linux's lib
corresponds to Windows's Library
.) These directories contain hard links to the packages associated with the heatwave
environment. The files are not duplicated but the hard link makes sure you can also access them from heatwave
(and not just from ./pkgs
).base
environment. The associated bin
and lib
directories are not under an inexistent ./envs/base
directory, but instead directly in the root directory of conda: ./bin
, ./lib
.In particular, the apparent duplicates you found are in fact hard links to the same file.
Further info that is not directly related to the question but may help you understand the context: Linux vs. Windows file system, "bin" vs. "lib"