AutoDL将虚拟环境从系统盘转移到数据盘 (保姆级)

由于想要创建两个不同的虚拟环境,但是系统盘空间不够,所以想着把miniconda3从系统盘迁移到数据盘

1.停止相关进程

打开终端,停止所有正在运行的与 miniconda3 相关的进程,比如 Jupyter 等服务。如果不确定哪些进程在运行,可以使用 ps -ef | grep miniconda3 命令查看,然后使用 kill 命令关闭相关进程

ps -ef | grep miniconda3

我kill之后又相关进程又自动启动了,所以使用 kill -9 强制终止所有相关进程

# 查找并杀死所有 Jupyter 和 Miniconda3 相关进程
ps -ef | grep -i "jupyter\|miniconda3" | grep -v grep | awk '{print $2}' | xargs kill -9

2. 移动 Miniconda3 目录

把root路径下的miniconda3移动到autodl-tmp下

mv /root/miniconda3 /root/autodl-tmp/miniconda3

3. 修改环境变量

编辑 .bashrc,确保路径指向新目录

vi ~/.bashrc

按 i 进入编辑模式,找到下面这行,一般是在最后一行

source /root/miniconda3/etc/profile.d/conda.sh

修改路径,并在后面加入一行

source /root/autodl-tmp/miniconda3/etc/profile.d/conda.sh
export PATH="/root/autodl-tmp/miniconda3/bin:$PATH"

按 Esc 输入 :wq 保存并退出

4. 使环境变量生效

source ~/.bashrc

5. 检验是否转移成功

which conda      # 应输出 /root/autodl-tmp/miniconda3/bin/conda

这一步输出结果为你转移的位置表明环境变量的配置已经生效,下面你就可以使用下面两个语句检查一下是不是能够正常运行

conda env list
conda --version

我在运行这个语句的时候报错 ,说找不到文件,且路径为旧路径

bash: /root/miniconda3/bin/conda: No such file or directory

说明系统级配置文件可能包含旧路径,可以执行下述命令查看

cat /etc/profile | grep miniconda3

果然在 /etc/profile 中发现了旧路径 /root/miniconda3/bin,这正是导致问题的关键!系统级环境变量配置文件 /etc/profile 会在用户登录时加载,优先级高于用户目录下的 .bashrc,因此需要立即修改

PATH=/root/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

那我们就打开文件进行编辑

sudo vi /etc/profile

按下 i 键,找到旧路经并修改为新路径 /root/autodl-tmp/miniconda3/bin

#修改前
PATH=/root/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:...
#修改后
PATH=/root/autodl-tmp/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:...

按下 Esc 输入 :wq 保存并退出,再使用命令刷新环境变量

source /etc/profile

刷新后再使用下面两行检查一下

cat ~/.bash_profile | grep miniconda3  #结果为新路径就是对的
cat ~/.profile | grep miniconda3  #没有输出就是对的

再使用 conda  env list 检查,发现还是有问题,网上查说有时候conda的初始化配置有问题,可以重新初始化conda

/root/autodl-tmp/miniconda3/bin/conda init bash

初始化后再次运行conda  env list,提示脚本尝试使用 /root/miniconda3/bin/python 作为解释器来运行,终于找到问题了

bash: /root/autodl-tmp/miniconda3/bin/conda: /root/miniconda3/bin/python: bad interpreter: No such file or directory

接下来我们打开conda 脚本文件

sudo vi /root/autodl-tmp/miniconda3/bin/conda

同样也是按 i 键,看到第一行是 #!/root/miniconda3/bin/python,我们将其修改为新的 Python 解释器路径

#!/root/autodl-tmp/miniconda3/bin/python

 按下 Esc 输入 :wq 保存并退出,再重新初始化

/root/autodl-tmp/miniconda3/bin/conda init bash

再输入conda env list 就能够成功看到自己的环境了

 

### AutoDL 平台中系统盘数据盘的区别及用途 #### 系统盘的作用与特点 系统盘主要用于安装操作系统及其必要的驱动程序和支持软件。在AutoDL环境中,系统盘包含了预配置的操作系统镜像以及用于支持深度学习框架和其他必要工具的基础环境设置[^1]。 对于提到的具体情况而言,当提及拥有24GB显存时实际上是指分配给系统的这部分存储空间被用来加载操作系统、临时文件以及其他运行过程中所需的资源。这意味着如果用户尝试在这个有限的空间里放置大量训练数据或者保存大型模型权重,则可能会遇到性能瓶颈甚至无法正常工作的情况。 #### 数据盘的功能与优势 相比之下,数据盘提供了更大的容量来专门存放用户的个人资料、项目代码库、实验结果等持久化信息。文中指出的数据盘具有50GB可用空间,这样的设计使得即使是在较小尺寸的系统分区下也能保障有足够的地方去处理大规模的数据集或复杂的算法开发需求。 因此,在实际应用当中,建议将重要的研究素材如图像数据库、视频片段或者其他形式的大规模输入样本都放在数据卷上;而只把那些必需的核心组件保留在启动区之内以维持高效运作状态。这种分离式的架构不仅有助于提高整体效率,同时也便于管理和维护各个部分之间的关系[^3]。 通过合理规划这两类磁盘各自的职能范围,可以在一定程度上优化计算资源利用率的同时减少不必要的开支成本——毕竟超出初始设定之外增加额外储存是要收取相应费用的。 ```python # 示例:如何区分使用系统盘数据盘 import os def check_disk_usage(): system_partition = '/' data_partition = '/mnt/data' # 假设挂载点为 /mnt/data usage_system = shutil.disk_usage(system_partition).free / (1024 ** 3) # 转换为 GB 单位 usage_data = shutil.disk_usage(data_partition).free / (1024 ** 3) print(f"System Disk Free Space: {usage_system:.2f} GB") print(f"Data Disk Free Space: {usage_data:.2f} GB") check_disk_usage() ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值