【问题标题】:Using Conda Environments with a 'read-only' base installation将 Conda 环境与“只读”基本安装一起使用
【发布时间】:2020-02-28 14:30:35
【问题描述】:

我已经通过 bash 脚本在一个有很多用户的 Linux 系统上安装了 miniconda-3。我将此基本安装设置为对所有人只读。理想情况下,大多数用户只需运行以下命令即可在他们的系统上运行他们的 python 应用程序。

eval "$(/path/to/bin/conda shell.bash hook)"

如果他们需要自定义包,他们可以通过以下方式创建 conda 克隆

conda create -p /path/to/new/env --clone $CONDA_PREFIX

但是,在这种情况下,用户的环境仍在使用基本 conda 及其配置,如果用户运行 conda install ...,则会导致权限错误,如下所示:

NotWritableError: The current user does not have write permissions to a required path.
  path: /path/to/miniconda3/pkgs/cache/9e0f62c3.json

有没有办法让新环境使用自己的pkg_dirsenv_dirs 而无需用户手动更改它们?

【问题讨论】:

  • 为什么不共享 pkg_dirs ?
  • 在某种程度上,我对 Conda 的内部细节不熟悉,并试图避免用户弄脏基础安装。打开 pkg_dirs 以全写会导致这种情况吗?我不确定这个区域到底是用来做什么的。

标签: python anaconda conda environment miniconda


【解决方案1】:

您应该创建一个共享的pkg_dirs。简而言之,这是一个缓存目录。运行conda install时,它会从公共渠道下载包到这个目录,然后安装它们。

让每个用户都使用相同的文件夹的好处是,如果软件包已经在缓存中来自其他用户,它会加快安装速度,因为它会减少下载。

详情请见this guide。基本上,你只需要添加

pkgs_dirs:
    - /path/to/shared_directory

致您的.condarc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-22
    • 2016-11-02
    • 2021-10-20
    • 2016-07-07
    • 2014-01-22
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多