更换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
首先检查gcc
和g++
版本是否一致。
如果没有安装
sudo apt-get install build-essential
sudo apt-get install g++
安装缺失的,并保持版本一致。
之后在用pip安装就可以了
pip isntall -r env.txt
网友评论