由于我们使用macos时配置好了python环境,也进行了深度学习训练的测试,此时,我们想把代码扔到服务器上进行训练,可是有些python包和依赖包,我们并不想一一重新在服务器上训练,那怎么从本地环境前移到ubuntu中呢,如果我们直接用
conda env export > environment.yml
,生成文件。通过scp传scp environment.yml dxx@192.168.xx.xx:/home/d/
。传到d目录上。再直接用(已经在服务器配置好了anaconda的情况下)
conda env create -f environment.yml
进行创建,就会出现下面的问题。
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound:
- pip==21.0.1=py38hecd8cb5_0
- freetype==2.10.4=ha233b18_0
- mkl_fft==1.3.0=py38ha059aab_0
- libedit==3.1.20191231=h1de35cc_1
- hdf5==1.10.6=hdbbcd12_
参考博文
https://johannesgiorgis.com/sharing-conda-environments-across-different-operating-systems/
是用下面的方法做的
conda env export --no-builds > environment_<platform>.yml
, 使用了no-build参数生成的yml文件传到服务器上。
最后问题就只剩
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound:
- llvm-openmp=12.0.0
- libgfortran=3.0.1
- libcxx=10.0.0
三个。
只要把yml中的这三个依赖删了就行,用相应包的时候再下载就行。
conda env create -f environment.yml