【问题标题】:How to share an Anaconda Python environment between multiple users?如何在多个用户之间共享 Anaconda Python 环境?
【发布时间】:2018-02-19 17:30:55
【问题描述】:

我在 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 环境可见/可用。如何创建环境并使其可供系统的所有用户使用?

documentation 讨论了多用户安装,但我看不到如何让其他用户可以使用环境。

【问题讨论】:

标签: python anaconda


【解决方案1】:

我会回避与其他用户共享环境,因为如果他们不知道自己在做什么,他们可能会添加可能与其他包冲突的包和/或什至删除其他用户可能需要的包。首选方法是在创建环境后,将其导出为 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时看到环境。

【讨论】:

    【解决方案2】:

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

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

    这使用户可以使用所有环境(其中的子文件夹)。似乎无法提供特定的命名环境。

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

    在 Windows 10 上,我的用户配置文件位于 C:\Users\&lt;my-user-name&gt;\ 中,我只是将上述文本添加到它的末尾。

    【讨论】:

    • 至少对于安装在 Ubuntu 上的 conda 4.5.11,将“env_dirs:”添加到 miniconda 安装目录中的 .condarc 将允许用户在指定的目录中创建 env,但他们仍然必须如果他们想覆盖默认的 conda 安装目录(通常在用户的主文件夹中),请使用 --prefix 标志。 “默认主文件夹”不适用于我的组,因为我们的主目录中的文件数量限制非常有限,并且 conda envs 会生成一堆文件。
    • 这对我来说就像一个魅力,虽然我有另一个人测试它仍然在他们的主 .conda 目录中创建环境。知道是什么原因造成的吗?我删除了他的本地 .condarc 文件(反正它是空的),它没有帮助。
    【解决方案3】:

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

    保存环境:

    conda list --explicit > my-env.txt
    

    创建环境:

    conda env create --file my-env.txt
    

    【讨论】:

      猜你喜欢
      • 2013-06-15
      • 1970-01-01
      • 2012-01-30
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多