admin管理员组

文章数量:1401849

As it looks pretty clear the function of python conda's as isolation/separation for different sets of dependencies.

The question is about basic idea or best practices for scoping these environments as well as reusing.

For example for node's npm the scoping is pretty simple. Each project scoped by its specific folder have all its dependencies isolated. Or there's another scope global (User level) which shares something really general modules as tools etc.

In golang dependencies for any project/application are stored at the same global location defined by GOHOME env variable. Whatever package uses the same dependency module of specific version it refers the same codebase folder within GOHOME "registry".

So technically it seems GOHOME to be the analogue for conda's env isolation level. Still the same time there's no need for that anyway as different versions of any modules could be installed aside within the same GOHOME.

So actually what is the basic philosophy behind the scoping of conda envs. As from the one hand it looks pretty global (I'm not sure user or system level) so what are the boundaries for them to be isolated. Should it be

  • per project specific (why than it user wide)
  • per some domain specific area (e.g. ml, web apps)
  • per environment (e.g. dev/stage/prod)
  • is it tended to be reused the vary same libs/version across different envs/projects

In fact the functional idea is pretty straight forward as create env + use env. Still what is more confusing is where's the line between global and local. If it is not just per specific project so what are the idea for reusing the envs anyway.

So what are the best practices for scoping the conda envs.

Thanks

本文标签: Python Conda Environments ScopeStack Overflow