实习生坏大事之服务器base(conda)损坏
·
问题定义
实习生因为不可抗力原因把自己的环境装到了base环境中,实习生手忙脚乱尝试着删除了新安装的包,实习生自己也不知道为啥,删除新安装的包后,conda整个坏掉了,别说激活base或其他环境,conda这个命令直接废了。
实习生非常害怕,除了自己无关紧要的未安装成功的xxx环境外,服务器里还有正职员工可能废了大功夫才配好的envs。
怎样才能无缝修复conda而不影响其他环境的正常使用呢?
问题解决
- 首先,需要确定我司服务器使用的conda安装包型号。
实习生很庆幸,前辈在某个角落保留了原始的conda安装包。如果是其他实习生,请自行想办法获取对应的conda安装包。 - 然后,在原目录下,安装conda。切记,先不要删除原始的conda文件夹,后面说可以删了再删
具体操作为,比如原目录为/home/miniconda3/…
那实习生就需要安装到/home/miniconda-new/… - 安装好后,需要把原始conda文件夹的envs文件夹,拷贝到新conda中的envs
- 现在,测试新conda是否OK。运行命令
/home/miniconda-new/bin/conda info
此处路径需要根据自己的情况修改,如果能够正常显示,代表新conda是没问题的 - 再运行命令
/home/miniconda-new/bin/conda env list
如果能够显示两套相同的env,只是路径不一样,那env的识别大体也是没问题的 - 运行命令
/home/miniconda-new/bin/conda activate xxx大概率会出错,因为此时系统变量还没有改回来
此后的操作,推荐结合自己的情况与ai交互,切记不要直接照抄,一定要结合自己的情况交互。
# 1. 临时清理 PATH 中旧 Conda 路径
export PATH=$(echo $PATH | tr ':' '\n' | grep -v '/home/miniconda3'(旧的conda路径) | paste -sd ':' -)
# 2. 把新 Conda 加到 PATH 最前面
export PATH=/home/miniconda-new/bin:$PATH
# 3. source 新 Conda 的激活脚本
source /home/miniconda-new/etc/profile.d/conda.sh
# 4. 激活 base
conda activate base
# 5. 检查
which conda
conda info
- 此时,你需要和ai交互到成功实现,直接在终端中输入conda activate base,以及 conda activate xxx(以前的环境),不会报错。确定新conda测试成功,再开启下一步
- 删除旧conda的文件夹,注意不要使用它自带的uninstall.sh。如果不在乎文件夹叫什么名字,那conda的修复就可以到这里结束了✅,从此之后我司服务器的conda就会叫conda-new或你起的什么其他名字。
- 如果还需要继续粉饰太平,把新conda文件夹名字改到和以前一样,那修改后,在第七步中测试成功的结果,大概率无法继续成功了,此时需要根据报错信息扔给ai,定制化继续修改。
此帖实习生的修改内容包括但不限于:把.bashrc的旧路径改成新的,把miniconda3/bin/conda这个文件的旧路径也改成新的,重新conda init等。批量修复所有可执行文件( pip、python、wheel等),把 /home/miniconda-new/bin/python3.13 全部替换成新的 /home/miniconda3/bin/python3.13。
一定要多问ai。但是注意,如果第七步测试正常,此时不会有崩坏和需要重装的问题,有且仅有旧路径改新路径的问题,ai如果回答说不能修了要重装,那是它犯傻了,换个ai继续问。 - [题外话]实习生粉饰太平结束后,还有一个warning是
<frozen importlib._bootstrap>:488: Warning: OpenSSL 3's legacy provider failed to load......此问题解决方案请见https://gitcode.csdn.net/66c6fa2b9a494d224f74ea1c.html。亲测可用。
更优秀的排版参见:https://nxt8t0b26e5.feishu.cn/wiki/XcxvwVa3eizaNXkosPIccncingc?from=from_copylink
更多推荐

所有评论(0)