• Conda 环境移植 (两种方式)


    ------------------------方法一------------------------

    优点: 在原机器上需要进行的操作较少,且除了conda不需要其余的库来支撑;需要传输的文件小,操作较为简单。

    缺点:在新的机器上复现原环境时,需要重新下载对应的依赖包,且可能会安装不上有些依赖包。耗费时间长,且完整重现环境的概率小。

    具有待移植的环境的服务器

    1 进入你要移植的环境

    conda activate your_env

    2 导出当前conda环境到某个文件(文件名字可以自定义)

    conda env export > env_filename.yaml

    在执行这条语句时可能会报权限不足:zsh: permission denied: env_filename.yaml

    以下是解决办法

    (1)首先进入到服务器的anaconda的conda目录下(或者bin目录下) ../anaconda/bin/conda

    (2)执行 chmod -R +x .../anaconda/bin

    (3)再执行 conda init zsh

    即可;再重新执行conda env export > env_filename.yaml 就不会报错了;注意生成的.yaml文件在你当前所在的文件夹下。

    3 导出当前conda环境通过pip安装的包:

    pip freeze > requirements.txt

    注意生成的.txt文件在你当前所在的文件夹下。

    需要安装移植环境的服务器

    1 复现conda环境

    conda env create -f env_filename.yaml

    此时建立了一个名字叫为env_filename的环境

    2 复现conda环境中pip安装的包

    进入新建立的env_filename环境,执行以下命令

    pip install -r requirements.txt

    到此结束,大功告成

    ------------------------方法二------------------------

    优点:不需要在新的机器上二次下载,直接在对应位置解压打包好的环境包就可以直接使用;成功率高,推荐;

    缺点: 如之前未安装过conda-pack,则需要先安装此包,需要额外操作;一般环境包较大,约几个G大小,传输到新机器上耗费的时间和网络资源大。

    具有待移植的环境的服务器

    1 安装 conda-pack 包(若之前未安装过)

    pip install conda-pack

    tips: 如何报以下错误,

    ERROR: Could not find a version that satisfies the requirement conda-pack (from versions: none)
    ERROR: No matching distribution found for conda-pack

    多半是网络问题,换个镜像源就ok

    pip install conda-pack -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

    2 打包原环境 (无论你当前位于哪个虚拟环境中)

    conda pack -n env_name

    env_name 是 你需要移植的环境名

    该命令会在你当前所在的目录产生一个环境包的压缩文件 env_name.tar.gz

    3 传输 env_name.tar.gz

    使用SCP或者其他的命令或方式将 env_name.tar.gz 传输到 你需要移植到的新机器的 anaconda 的 envs 目录下: e.g. /home/pc/anaconda3/envs/

    需要安装移植环境的服务器

    1 解压 env_name.tar.gz

    首先在 /home/pc/anaconda3/envs/ 下新建mkdir一个文件夹 ,文件夹的名字就是压缩包的名称即可(当然也可以自定义一个新的名称)

    然后使用以下命令解压环境压缩包到新建的文件夹中:

    tar -xzf env_name.tar.gz -C ~/anaconda3/envs/env_name/
    

    2 测试环境

    直接 conda activate env_name 测试是否能够激活环境,如果可以则说明移植成功!

    到此结束,大功告成

  • 相关阅读:
    ARM---实现1-100求和任务
    k8s安装 Prometheus + Grafana
    ubuntu安装node.js 2023年最新
    DAMA-总结(数据管理的总结)
    Docker安装SQL Server 2022
    再学Blazor——概述
    改进YOLOv5系列:基于互补搜索技术和新颖架构设计组合MobileNetV3结构作为Backbone主干网络,打造不同的检测器
    if 语句 python
    minio策略配置参数详解
    工作不等于生活,但生活离不开工作 | 2022 年中总结
  • 原文地址:https://www.cnblogs.com/jack-nie-23/p/16900926.html