查看可用环境:
conda info --envs
更换环境(如py311):
source activate py311
有网环境
导出当前环境:
conda env export > py311.yaml
会生成一个py36.yaml文件,将其复制到目标机上后执行导入环境操作:
conda env create -f py311.yaml
注意:若导出base环境,则在目标机上会提示已存在(而且base环境无法删除)。所以要想导出base,最好先复制一下,再导出复制品:
conda create -n new_name --clone base
再导出new_name环境即可。必要的话再在原机删除复制环境:
conda remove -n new_name --all
在用的时候发现有些module还是未安装,上网找了下原因,原来以上只会导出conda命令直接安装的包,而我的包大多是用pip安装在Anaconda的lib和site-package里了。因此还要用导出pip的方法:
pip导出安装的库到pip.txt:
pip freeze > pip.txt
pip导入pip.txt中列出的库到新机:
pip install -r pip.txt
其实就是按列表重新安装一遍,导出的列表可以自己先看一眼,筛掉一些脑抽安装的没用包
无网环境
在conda的base环境中安装conda-pack;
pip install conda-pack
打包一个环境
conda pack -n my_env
conda pack -n my_env -o out_name.tar.gz
conda pack -p /explicit/path/to/my_env重现
mkdir -p my_env
tar -xzf my_env.tar.gz -C my_env
./my_env/bin/python
source my_env/bin/activate
(my_env) $ python
(my_env) $ conda-unpack
pip download
保存虚拟环境到requirements.txtpip list --format=freeze > requirements.txt
下载依赖包到指定目录
pip download -r requirements.txt -d "/home/admin/packs" -i https://pypi.tuna.tsinghua.edu.cn/simple
将requirements.txt和依赖包拷贝到目标服务器
在目标服务器创建conda虚拟环境
conda create -n my_env python=3.6.5 pip=10.0.1 --offline
备注:
--offline:指定离线创建虚拟环境;
python=3.6.5 & pip=10.0.1:指定默认的python版本号、并安装pip工具,如果不安装pip,则改虚拟环境使用默认的pip工具,就无法将依赖包安装到新虚拟环境。Anaconda自带的package在> anaconda3/pkgs目录下,可自行查看;切换到虚拟环境,并安装依赖包
pip install -U --no-index --find-links=./packs -r requirements.txt
备注: 若出现Cannot uninstall 'xxxx'. It is a distutils installed project and thus we cannot accurately det...(xxx是某package的名称),使用如下命令进行解决:
pip install -U --ignore-installed --no-index --find-links=./packs xxx