相同平台环境同步
-
有网情况
#第一台电脑进入目标环境后运行
conda list --explicit > spec-list.txt
#第二台电脑直接运行
conda create --name env --file spec-list.txt
生成的spec-list.txt文件内容如下:
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
@EXPLICIT
https://conda.anaconda.org/hcc/osx-64/aspera-cli-3.9.1-0.tar.bz2
https://conda.anaconda.org/bioconda/osx-64/star-2.7.9a-h527b516_0.tar.bz2
https://repo.anaconda.com/pkgs/r/osx-64/_r-mutex-1.0.0-anacondar_1.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/blas-1.0-mkl.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.6-1.tar.bz2
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/osx-64/ca-certificates-2021.5.30-h033912b_0.tar.bz2
https://repo.anaconda.com/pkgs/main/osx-64/gsl-2.2.1-h002c638_3.tar.bz2
-
没有联网情况
先安装 conda-pack
pip install conda-pack
然后使用如下指令
conda pack -n env_name -o env_neme.zip
-
-n
后面是环境名 -
-o
后面是打包后压缩文件名,压缩格式有tar.gz
、zip
等
不同平台(Linux、windows、Mac)环境同步
考虑到不同平台的兼容问题(同一个包在不同平台不一定可以用,同一个版本在不同平台也有可能不兼容)
同步方式需要联网
方法如下:
source activate myenv # 进入目标环境windows: activate myenv
conda env export > environment.yml # 导出我们的环境,包含包和版本,以及channel
## 把 environment.yml 拷贝到第二个电脑后,运行
conda env create -f environment.yml
导出的environment.yml
文件的内容格式
name: Stripes
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- https://repo.anaconda.com/pkgs/free
- bioconda
- hcc
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- conda-forge
- defaults
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
dependencies:
- _r-mutex=1.0.0=anacondar_1
- absl-py=0.7.1=py36_0
- aioeasywebdav=2.4.0=py36_1000
- aiohttp=3.5.4=py36h1de35cc_0
- anaconda=custom=py36_0
- appdirs=1.4.3=py_1
注意:如果在不同平台(ubuntu,mac,win10)偶尔会遇到某一个包的版本不兼容的问题,这个时候只需要去掉不兼容的包的版本号即可。(前提是这个包可以在这个平台使用,有些包只不支持跨平台的)
网友评论