Anaconda虚拟环境完美迁移和实时换源方法
(1)最近在多台服务器上对python深度学习的project做项目迁移,同时也需要对conda的虚拟环境也进行迁移。调研和实测很多方法,大多行不通,还遇到各种各样问题。最终通过对虚拟环境中的两种库分别处理(conda安装的库和pip安装的库)来完美解决。
包括有安装时修改配置文件和临时换源等加速方法,包挺多的但构建也就几分钟的时间,多次测试非常稳,屡试屡爽,在此详细记录(2021-6-2)。
(2)本篇文章是单个环境的迁移
另外一篇见 Anaconda整体迁移(多个虚拟环境) 服务器双机迁移,测试时发现有一个虚拟环境可能系统原因安装完不能用,又单独用单个环境做的迁移(2023-6)
======================================================================
顺便分享俩命令行安装时直接换源最简单的方式:
conda install xxxxxx -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
pip install xxxxxx -i https://pypi.doubanio.com/simple/
or(不好用就换下面的,和服务器网络有关)
pip install xxxxxx -i https://pypi.tuna.tsinghua.edu.cn/simple
======================================================================
第一步:激活需要迁移的虚拟环境
conda activate xxx
第二步:conda导出yml配置文件:
conda env export > xxx.yml
注:该配置文件内包四个字段:name / channels / dependencies(pip) / prefix,其中有两处需要修改
(1)name:U-2-Net
就是虚拟环境名称
(2)channels:
可以用来换源,默认为Default(这里我用的是清华源)
此处需要修改为:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
(3)dependencies:
一级是conda安装的包列表,子级pip下是pip安装的包列表,此处需要将pip以及下方该字段的相关列表删除。
此处需要修改(就把下面四行pip包相关直接删除掉):
- zstd=1.4.9=haebb681_0
- pip:
- analytics-python==1.3.1
- appdirs==1.4.4
- astor==0.8.1
(4)prefix: /home/changdunrui/anaconda3/envs/U-2-Net
虚拟环境路径(我的俩服务器路径一样,就没有修改,不一致时修改为目标anaconda的envs下就行)
第三步:pip导出库列表txt文件(一定要加–format):
pip list --format=freeze > xxx.txt
第四步:将生成的两个文件(xxx.yml 和 xxx.txt)拷贝到新的服务器下面
第五步:在新服务器用如下命令创建新conda环境:
conda env create -f xxx.yml
注:两个文件得在当前目录下,此时会将yml中conda库进行安装。自测pip包安装时间过长,所以在第二步删除pip字段,在第六步单独安装pip的包。
第六步:激活已创建的虚拟环境(同第一步)并安装pip的依赖包(这里pip我用的是豆瓣源)
conda activate xxx
pip install -r xxx.txt -i https://pypi.doubanio.com/simple/
~~~~~~~~Finished!!诶,就是玩儿,搞好了再点赞+收藏有备无患
(热爱计算机视觉,喜欢学习与分享)