移动Anaconda文件夹后,如何修改配置让conda继续使用

使用云服务器,home目录挂载的盘空间很小,在home目录下安装了Anaconda之后,随着使用中,在huggingface上下载了很多预训练大语言模型,硬盘空间爆掉了。购入新的更大的存储空间,但不想重新安装系统和Anaconda,就把Anconda整个文件夹移入新的目录中了,

原本以为移入新目录后,只需要将对应的python 环境变量改成新路径就好。但改之后,conda命令都识别不了。各种捣腾之后,改了好几个文件,终于ok了。

下面是具体的步骤

1.检查~/.bashrc和/etc/profile中是否有python 环境变量的定义。

我自己的conda是在~/.bashrc做初始化的,初始化内容如下

# >>> conda initialize >>>

# !! Contents within this block are managed by 'conda init' !!

__conda_setup="$('ANACONDA_PATH/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

if [ $? -eq 0 ]; then

    eval "$__conda_setup"

else

    if [ -f "ANACONDA_PATH/etc/profile.d/conda.sh" ]; then

        . "ANACONDA_PATH/etc/profile.d/conda.sh"

    else

        export PATH="ANACONDA_PATH/bin:$PATH"

    fi

fi

unset __conda_setup

# <<< conda initialize <<<

将里面所有的ANACONDA_PATH从原来的绝对路径改成现有的绝对路径。

2.Anaconda内部的环境变量定义文件修改

从~/.bashrc中的段代码可以看出,初始化时,首先查询conda自身的定义文件etc/profile.d/conda.sh是否存在,如果存在就执行这个sh文件,如果不存在才直接定义环境变量。

ANACONDA_PATH/etc/profile.d中一共有两个shell文件:conda.sh和conda.csh。两个文件都包含了conda绝对路径的定义

Conda.sh需要修改的有

export CONDA_EXE='ANACONDA_PATH/bin/conda'

export CONDA_PYTHON_EXE='ANACONDA_PATH/bin/python'

Conda.csh有

setenv CONDA_EXE "ANACONDA_PATH/bin/conda"

setenv _CONDA_ROOT "Anaconda_path"

setenv _CONDA_EXE "ANACONDA_PATH/bin/conda"

setenv CONDA_PYTHON_EXE "ANACONDA_PATH/bin/python"

同样,将ANACONDA_PATH替换成新的路径。

以上两步改完之后,执行一次source ~/.bashrc就可以正确读到anaconda中的文件了。

3.改完之后,执行conda activate命令,总算不再报“找不到conda命令”了,但是会报

bash: NEW_ANACONDA_PATH/bin/conda:OLD_ANACONDA_PATH/bin/python: bad interpreter: No such file or directory

这是conda命令内部的路径读取有问题,于是查看vim ANACONDA_PATH/bin/conda文件,替换第一句中的路径

#!ANACONDA_PATH/bin/python

bin文件夹中存了很多命令的配置文件,需要用的的都需要修改,像pip, jupyter, jupyter-lab等。不用一次改完,只需要记得如果调用哪个命令,出现找不到文件的时候,去bin里面对这个命令的配置文件进行修改就行。

到此,Anaconda迁移成功。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值