conda环境迁移,修改conda路径(附带脚本)

方法1

  1. 现将文件夹移动到对应用户的~目录下(或其他目录)

    bash 复制代码
    mv /home/asushiro/miniconda3 /root/miniconda3
  2. 建立软链接
    然后创建软链接,相当于快捷方式

    bash 复制代码
    ln -s /root/miniconda3 /home/aushiro/miniconda3

方法2

将对应miniconda中的文件路径全部改掉

这里使用python脚本实现

主要需要改的地方是/.../miniconda3/bin/*以及/.../miniconda3/etc/profile.d/*中的全部文件

  1. 先修改 ~/.bashrc

    bash 复制代码
    vim ~/.bashrc

    添加上

    bash 复制代码
    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/root/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
        eval "$__conda_setup"
    else
        if [ -f "/root/miniconda3/etc/profile.d/conda.sh" ]; then
            . "/root/miniconda3/etc/profile.d/conda.sh"
        else
            export PATH="/root/miniconda3/bin:$PATH"
        fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<
  2. 首先改bin目录里的
    将需要改的文件名输入到target.txt文件夹里

    shell 复制代码
    echo `ls` > ~/target.txt

    然后再~文件夹下创建modify.py
    内容为

    python 复制代码
    import os
    from tqdm import tqdm
    
    with open("./target.txt", 'r') as f:
        line = f.readline()
        file_name_total = list(map(str, line.split()))
        for file_name in tqdm(file_name_total):
            file_path = os.path.join("/root/miniconda3/bin/", file_name)
            try:
                with open(file_path, 'r', encoding="utf-8") as f:
                    content = f.read()
                content = content.replace("/home/asushiro", "/root")
                with open(file_path, 'w', encoding="utf-8") as f:
                    f.write(content)
            except UnicodeDecodeError:
                print("decode error")
                continue
  3. 同理然后进入etc/profile.d文件夹下

    shell 复制代码
    echo `ls` >~/target.txt

    运行modify.py

    python 复制代码
    import os
    from tqdm import tqdm
    
    with open("./target.txt", 'r') as f:
        line = f.readline()
        file_name_total = list(map(str, line.split()))
        for file_name in tqdm(file_name_total):
            file_path = os.path.join("/root/miniconda3/etc/profile.d/", file_name)
            try:
                with open(file_path, 'r', encoding="utf-8") as f:
                    content = f.read()
                content = content.replace("/home/asushiro", "/root")
                with open(file_path, 'w', encoding="utf-8") as f:
                    f.write(content)
            except UnicodeDecodeError:
                print("decode error")
                continue
  4. 最后刷新环境变量即可

    shell 复制代码
    source ~/.bashrc

如遇其他路径问题同理解决,最简单的是link一下,不过有强迫症可以用一下脚本

相关推荐
majingming1235 小时前
FUNCTION
java·前端·javascript
John_ToDebug5 小时前
浏览器扩展延迟加载优化实战:如何让浏览器启动速度提升50%
c++·chrome·windows
A_nanda5 小时前
Vue项目升级
前端·vue3·vue2
SuperEugene6 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale036 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
Setsuna_F_Seiei7 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑7 小时前
追踪来自Agent的Web 流量
前端
wefly20177 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年8 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
kyriewen118 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript