Ubuntu完整复制其他用户的anaconda及虚拟环境

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

相关推荐
零涂毕业设计1 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1231 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
SakitamaX2 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.2 小时前
Linux系统管理
linux·运维
会飞的小新2 小时前
Windows CMD 与 PowerShell 深度解析:底层原理、命令差异、自动化选型指南
运维·windows·自动化
阿龙的工作记录2 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手3 小时前
Linux的基本指令
linux·运维·服务器
MonolithIoT3 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
gwf2164 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
AAA@峥4 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos