Ubuntu完整复制其他用户的anaconda及虚拟环境
背景
目标anaconda在:/home/A/anaconda3下,但是作为新来的实习生B,需要继承先辈A的工作,把anaconda整体迁移,这样就可以完美继承A安装的库、包和虚拟环境等,否则一切都要重头再来。
目标
把anaconda整体从/home/A/anaconda3/复制到/home/B目录下
解决方案
Step1. 复制anaconda文件夹到新的路径下:
cp -r /home/A/anaconda3 /home/B
Step2. 修改Anaconda的环境变量:
修改 ~/.bashrc中anconda环境变量:vim ~/.bashrc
修改前,如下:
bash
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/A/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/A/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/A/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/A/anaconda3/bin:/usr/local/gcc/bin$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
修改后,如下:(一共修改四处,主要修改有关anaconda的环境变量的路径):
bash
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/B/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/B/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/B/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/B/anaconda3/bin:/usr/local/gcc/bin$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
让修改后的环境变量生效:source ~/.bashrc
Step3. 修改可执行文件conda
修改conda文件第一行的路径:vim /home/A/anaconda3/bin/conda
修改前:#!/home/A/anaconda3/bin/python
修改后:#!/home/B/anaconda3/bin/python
此时在命令行中输入conda,就会显示一些命令参数
注意:
如果输入conda显示没有该命令,则重新打开一个终端再试一下
Step4. 修改可执行文件pip
修改可执行文件pip之后,pip和python才可用
打开pip配置文件:vim /home/B/anaconda3/bin/pip
修改pip文件,把pip第一行的路径修改成如下:
修改前:#!/home/A/anaconda3/bin/python
修改后:#!/home/B/anaconda3/bin/python
Step5. 修改虚拟环境中的可执行文件pip
修改虚拟环境下的可执行文件pip之后,进入虚拟环境(以one_env为例)后pip和python才可用
打开pip配置文件:vim /home/B/anaconda3/envs/one_env/bin/pip
修改pip文件,把pip第一行的路径修改成如下:
修改前:/home/A/anaconda3/envs/one_env/bin/python
修改后:/home/B/anaconda3/envs/one_env/bin/python