使用带有 'read-only' 基础安装的 Conda 环境
Using Conda Environments with a 'read-only' base installation
我已经通过 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 及其配置,如果用户 运行s conda install ...
如下所示,则会导致权限错误:
NotWritableError: The current user does not have write permissions to a required path.
path: /path/to/miniconda3/pkgs/cache/9e0f62c3.json
有没有办法让新环境使用自己的 pkg_dirs
和 env_dirs
而无需用户手动更改它们?
您应该创建一个共享 pkg_dirs
。简而言之,这是一个缓存目录。当 运行 conda install
时,它从 public 频道下载软件包到此目录,然后安装它们。
让每个用户都使用相同文件夹的好处是它会加快安装速度,因为如果包已经在另一个用户的缓存中,它会减少下载。
有关详细信息,请参阅 this guide。基本上,你只需要添加
pkgs_dirs:
- /path/to/shared_directory
给你的.condarc
我已经通过 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 及其配置,如果用户 运行s conda install ...
如下所示,则会导致权限错误:
NotWritableError: The current user does not have write permissions to a required path.
path: /path/to/miniconda3/pkgs/cache/9e0f62c3.json
有没有办法让新环境使用自己的 pkg_dirs
和 env_dirs
而无需用户手动更改它们?
您应该创建一个共享 pkg_dirs
。简而言之,这是一个缓存目录。当 运行 conda install
时,它从 public 频道下载软件包到此目录,然后安装它们。
让每个用户都使用相同文件夹的好处是它会加快安装速度,因为如果包已经在另一个用户的缓存中,它会减少下载。
有关详细信息,请参阅 this guide。基本上,你只需要添加
pkgs_dirs:
- /path/to/shared_directory
给你的.condarc