当前位置: 首页 > article >正文

服务器多用户共享Conda环境操作指南——Ubuntu24.02

1. 使用阿里云镜像下载 Anaconda 最新版本

wget https://mirrors.aliyun.com/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

bug解决方案

若出现:使用wget在清华镜像站下载Anaconda报错ERROR 403: Forbidden.
解决方案:wget --user-agent=“Mozilla” + 资源链接
栗子:wget --user-agent="Mozilla" https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

安装 Anaconda 到共享目录

以 root 用户身份安装
将 Anaconda 安装到公共目录(例如 /opt/anaconda3)

切换到 root 用户

sudo su

2. 运行安装脚本

bash Anaconda3-2024.02-1-Linux-x86_64.sh
安装过程中:
指定安装路径:输入 /opt/anaconda3 并按 Enter。
是否初始化 Anaconda:选择 yes(自动配置环境变量)。

3. 配置用户组和权限

3.1 创建 Anaconda 用户组

创建名为 anaconda 的用户组,并将所有需要共享环境的用户添加到该组:
sudo groupadd anaconda
将用户添加到 anaconda 组(替换 为实际用户名)
sudo usermod -aG anaconda <username>

3.2 设置共享目录权限

确保所有用户对 Anaconda 安装目录有读写权限

3.3修改安装目录的所有者和权限

sudo chown -R root:anaconda /opt/anaconda3
sudo chmod -R 770 /opt/anaconda3

3.4.设置 SGID 权限,确保新建文件继承组权限

sudo find /opt/anaconda3 -type d -exec chmod g+s {} +

4. 全局环境变量配置

4.1 配置全局 Anaconda 环境变量

vim编辑 /etc/profile.d/etc/profile,添加以下内容:

# 添加 Anaconda 路径到全局环境变量
export PATH="/opt/anaconda3/bin:$PATH"

4.2 应用配置

使配置立即生效:
source /etc/profile

5. 配置 Anaconda 共享设置

5.1 创建系统级 .condarc 文件

在 Anaconda 安装目录下创建全局配置文件,指定共享的包缓存和环境目录:
sudo mkdir -p /opt/anaconda3/.condarc.d
sudo touch /opt/anaconda3/.condarc.d/shared_condarc.yaml
编辑文件并添加以下内容:

pkgs_dirs:- /opt/anaconda3/pkgs  # 共享包缓存
envs_dirs:- /opt/anaconda3/envs   # 共享环境目录- ~/.conda/envs          # 用户私有环境目录
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.aliyun.com/anaconda/pkgs/main- https://mirrors.aliyun.com/anaconda/pkgs/r- https://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.aliyun.com/anaconda/cloud

5.2 限制共享环境写入权限

防止普通用户误修改共享环境:

# 移除共享环境目录的写入权限
sudo chmod -R g-w /opt/anaconda3/envs# 创建保护文件(可选)
sudo touch /opt/anaconda3/envs/.conda_envs_dir_test
sudo chmod 600 /opt/anaconda3/envs/.conda_envs_dir_test

6. 用户环境初始化

6.1 初始化 Anaconda(每个用户需执行一次)

每个用户首次使用 Anaconda 时需初始化:

conda init 
source ~/.bashrc

6.2 验证 Anaconda 初始化

运行以下命令确保 Anaconda 命令可用:
conda --version

7. 创建和管理共享环境

7.1 创建共享环境

以 root 用户身份创建共享环境(所有用户可访问):

# 设置 umask 以确保共享环境权限正确
umask 0002
conda create -n shared_env python=3.9

7.2 创建用户私有环境

普通用户可创建私有环境(仅自己可访问):
conda create -n private_env python=3.9

8. 验证多用户共享功能

8.1 用户 A 操作

创建共享环境:
conda create -n shared_env python=3.9
安装包到共享环境:

conda activate shared_env
conda install numpy

8.2 用户 B 操作

切换用户并激活共享环境:

su - userB
conda activate shared_env
验证是否能访问共享包:
python -c "import numpy; print(numpy.__version__)"

9. 常见问题与解决方案

9.1 权限错误

错误示例:Permission denied 或 CondaValueError: Environment location must be owned by the user.
解决方法:
确保 /opt/anaconda3 的权限为 770,所有者为 root:anaconda。
检查用户是否已加入 anaconda 组:id <username>。

9.2 Anaconda 初始化失败

错误示例:conda: command not found
解决方法:
确认 /etc/profile.d 中的 PATH 正确指向 /opt/anaconda3/bin。
运行 source /etc/profile.d 重新加载环境变量。

9.3 环境激活失败

错误示例:CondaError: Run ‘conda init’ before activating environments.
解决方法:
所有用户需运行 conda init bash 并重新加载 .bashrc。

http://www.lryc.cn/news/2384053.html

相关文章:

  • 基于FPGA的电子万年历系统开发,包含各模块testbench
  • Leetcode刷题 | Day63_图论08_拓扑排序
  • MySQL 可观测性最佳实践
  • 系统性能分析基本概念(3) : Tuning Efforts
  • OceanBase数据库全面指南(函数篇)函数速查表
  • SpringBoot 对象转换 MapStruct
  • 计算机网络——Session、Cookie 和 Token
  • 01-jenkins学习之旅-window-下载-安装-安装后设置向导
  • Spark,SparkSQL操作Mysql, 创建数据库和表
  • AttributeError: module ‘cv2.dnn‘ has no attribute ‘DictValue‘错误解决方法
  • HarmonyOS 鸿蒙应用开发基础:@Watch装饰器详解及与@Monitor装饰器对比分析
  • 机器人拖动示教控制
  • 免费开放试乘体验!苏州金龙自动驾驶巴士即将上线阳澄数谷
  • matlab加权核范数最小化图像去噪
  • docker容器暴露端口的作用
  • 每日Prompt:像素风格插画
  • Windows逆向工程提升之二进制分析工具:HEX查看与对比技术
  • Android10如何设置ro.debuggable=1?
  • 2024游戏安全白皮书:对抗激烈!PC游戏外挂功能数增长超149%,超85%移动外挂为定制挂(附获取方式)
  • 深度解析:Spark、Hive 与 Presto 的融合应用之道
  • 12kV 环保气体绝缘交流金属封闭开关设备现场交流耐压试验规范
  • 位图算法——判断唯一字符
  • HarmonyOS 鸿蒙应用开发基础:父组件调用子组件方法的几种实现方案对比
  • 复盘20250522
  • 【UE5】环形菜单教程
  • Athena 执行引擎:在线服务计算的效率王者
  • 飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
  • Bert预训练任务-MLM/NSP
  • 微信小程序之Promise-Promise初始用
  • 准备好,开始构建:由 Elasticsearch 向量数据库驱动的 Red Hat OpenShift AI 应用程序