美文网首页
conda 迁移环境

conda 迁移环境

作者: limbo1996 | 来源:发表于2020-07-21 15:55 被阅读0次

    更换pc后重建conda环境如果一个一个软件包安装是一个十分麻烦的事情。

    conda提供了命令

    conda env export -f env.yaml
    

    将当前环境下的所有依赖存储在env.yaml

     name: wes
    channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - bioconda/label/cf201901
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
      - defaults
      - bioconda
      - conda-forge
      - r
    dependencies:
      - yaml=0.1.7=h14c3975_1001
      - zlib=1.2.11=h516909a_1005
      - zstd=1.4.0=h3b9ef0a_0
      - pip:
        - argh==0.26.2
        - biopython==1.74
        - decorator==4.4.0
        - h5py==2.9.0
        - lineedit==0.1.4
        - networkx==2.3
        - pathtools==0.1.2
        - pillow==6.1.0
        - pygments==2.5.2
        - radian==0.4.4
        - rchitect==0.3.17.dev0
        - simanneal==0.5.0
        - tornado==5.0.2
        - wcwidth==0.1.7
    

    以上为一个示例,注意当需要更换平台时,如win上导出到MacOS上创建环境,需要在导出环境时添加--no-build

    创建新环境

    conda env create -f env.yaml
    

    即可创建新的同名环境。

    问题

    发现返回信息

    CondaEnvException: Pip failed
    

    经过检查,环境成功创建了,但是只安装了conda install命令安装的软件包。
    env.yaml文件中的pip之后的依赖包并没有安装。

    这时需要在源环境导出pip安装的软件包信息

    pip freeze > env.txt
    

    pip安装没有安装的依赖包

    pip install -r env.txt
    

    这时,新的报错

    g++: error trying to exec 'cc1plus': execvp: 没有那个文件或目录
    

    产生这个报错的原因有两种
    主要是g++gcc的原因。
    可以查看
    https://www.cnblogs.com/skyme/archive/2011/01/19/1939606.html
    首先检查gccg++版本是否一致。
    如果没有安装

    sudo apt-get install build-essential
    
    sudo apt-get install g++
    

    安装缺失的,并保持版本一致。
    之后在用pip安装就可以了

    pip isntall -r env.txt
    

    相关文章

      网友评论

          本文标题:conda 迁移环境

          本文链接:https://www.haomeiwen.com/subject/chwikktx.html