方法一:
参考:conda环境从一个服务器迁移到另一个服务器
1. 安装打包工具
conda install -c conda-forge conda-pack
2. 打包本地conda环境
conda pack -n 环境名称 -o 环境名称.tar.gz
3. 上传环境文件到服务器上
mkdir -p learning3d
tar -xzf learning.tar.gz
4. 激活环境即可
conda info -e
conda activate learnig3d
(如果没有bin/文件夹下没有activate文件,可以从其他拷贝过来 如果conda env list 看不到虚拟环境,有可能是文件夹层数太多)
方法二:
该方案在实际使用过程中,并不顺利,安装requirements时候,会提示依赖包各种版本不匹配。
1. 本机conda环境包、pip包导出
conda 包导出xx.yaml
conda env export > 文件路径/文件名称.yaml
# 例如,导出xx.yaml文件为例:
conda env export > /home/xx.yaml
pip 包导出requirements.txt
pip freeze > 文件路径/文件名称.txt
# 例如, 以导出到/home下的example.yaml文件为例:
pip freeze > /home/example.txt
2.服务器conda环境导入、pip包导入
创建conda环境
conda env create -f 文件
# 例如,上面生成的example.yaml文件,将其复制到目标机上后执行:
conda env create -f /home/example.yaml
安装依赖项
pip install -r requirements.txt
1
注意:
在服务器环境下不需要提前新建环境,否则在创建conda环境时,会提示已经重复命名,错误如下:
CondaValueError: prefix already exists: /opt/conda/envs/learning3d
1
出现此问题后,可以先删除提前建立好的conda环境,如下:
conda env remove -n learning3d