如何在多个用户之间共享Anaconda Python环境?

时间:2018-02-19 17:30:56

标签: python anaconda

我在Windows 10上为所有用户安装了Anaconda 5.1 Python发行版(由系统管理员安装)。我可以创建一个环境,然后查看可用的环境:

λ conda create --name py35 python=3.5 anaconda

...

λ conda env list
# conda environments:
#
base    *  C:\ProgramData\Anaconda3
py35       C:\Users\<my-user-name>\AppData\Local\conda\conda\envs\py35

但是,当我以其他用户身份登录时,只有base环境可见/可用。如何创建环境并使其可供系统的所有用户使用?

here讨论了多用户安装,但我看不到如何为其他用户提供环境。

3 个答案:

答案 0 :(得分:10)

我会回避与其他用户共享环境,因为如果他们不知道自己在做什么,他们可能会添加可能与其他软件包冲突的软件包和/或甚至删除其他用户可能需要的软件包。首选方法是在创建环境后,将其导出为yml文件:

conda env export > environment.yml

然后,您向用户发送yml文件,并让他们使用yml:

构建自己的环境
conda env create -f environment.yml

如果您确实想要使用每个用户都可以访问的共享环境,那么您必须在创建中使用-p--prefix选项:

conda create -p C:/full/public/path/to/py35 python=3.5

然后指示您的用户将公开路径(C:/full/public/path/to)添加到他们的conda config file。然后,他们应该能够在运行conda env list时看到环境。

答案 1 :(得分:6)

此处的关键是将包含环境的文件夹的路径添加到用户的conda配置文件.condarc。像这样:

envs_dirs:
  - C:\full\path\to\environments\folder

这使得用户可以使用所有环境(其中的子文件夹)。似乎不可能使特定的命名环境可用。

正如已经指出的那样,您可以使用-p标志在特定位置创建环境,然后将父目录添加到配置文件中,但这不是必需的。但是,如果共享受保护用户区域中存在的环境,这可能有助于避免权限错误。

在Windows 10上,我的用户配置文件位于C:\Users\<my-user-name>\,我刚刚将上面的文本添加到其末尾。

答案 2 :(得分:0)

Conda-Cheatseet here列出了以下这些命令。

保存环境:

conda list --explicit > my-env.txt

创建环境:

conda env create --file my-env.txt