miniconda换目录

miniconda换目录
gogongxt如果把conda/miniconda换一个目录,会出现一些脚本bash bang等硬编码写死路径的问题,需要修复
可以执行以下脚本修复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
set -ex
OLD_PATH="/nfs/ofs-llm-ssd/user/gogongxt/miniconda3"
NEW_PATH="/nfs/gogongxt/miniconda3"
# 1. 修复 base 环境的 bin 目录
if [ -d "$NEW_PATH/bin" ]; then
cd "$NEW_PATH/bin"
# -r 参数表示如果 grep 没有输出,xargs 不会执行后面的 sed
grep -rIl "$OLD_PATH" . | xargs -r sed -i "s|$OLD_PATH|$NEW_PATH|g"
fi
# 2. 修复 Conda 自带的配置和环境激活脚本
if [ -d "$NEW_PATH/etc/profile.d" ]; then
cd "$NEW_PATH/etc/profile.d"
grep -rIl "$OLD_PATH" . | xargs -r sed -i "s|$OLD_PATH|$NEW_PATH|g"
fi
# 3. 修复 base 环境的激活钩子脚本
if [ -d "$NEW_PATH/etc/conda/activate.d" ]; then
cd "$NEW_PATH/etc/conda/activate.d"
grep -rIl "$OLD_PATH" . | xargs -r sed -i "s|$OLD_PATH|$NEW_PATH|g"
fi
# 4. 修复所有虚拟环境的 bin 目录(pip 和 python 路径的关键)
if [ -d "$NEW_PATH/envs" ]; then
cd "$NEW_PATH/envs"
# 递归匹配所有虚拟环境 bin 目录下的脚本
grep -rIl "$OLD_PATH" ./*/bin/ 2>/dev/null | xargs -r sed -i "s|$OLD_PATH|$NEW_PATH|g"
# 递归匹配所有虚拟环境的激活钩子脚本
grep -rIl "$OLD_PATH" ./*/etc/conda/activate.d/ 2>/dev/null | xargs -r sed -i "s|$OLD_PATH|$NEW_PATH|g"
fi
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh .
bash Miniconda3-latest-Linux-x86_64.sh -b -u -p $NEW_PATH
echo "🎉 修复完成!请重新开启终端检查效果。"
注意修改: OLD_PATH 和
NEW_PATH
另外最后会有一步下载miniconda,然后-u -p刷新覆盖,解决ssl证书问题,这部分可以自己手动代理执行
修复完成后就应该可以正确使用了
评论
匿名评论隐私政策




