Python环境(4):环境迁移及共享

承接Python环境(3):环境及包管理,此处记录环境的迁移与共享,包括本地的yml及离线

常规在线迁移

手动创建环境文件

参考:参看教程,略

实际上,手动创建不如直接新建环境并安装包名,通常只需要安装一些大的包则会自动安装好很多的依赖。如只需要如下操作就可以满足很多数据处理的配置环境:

1
2
3
4
5
conda install geopandas rasterio scipy 
conda install scikit-learn
conda install scikit-image
pip install dask-geopandas
conda install dask -c conda-forge

本机导出

首选,支持跨平台安装,但是如果跨平台最好制定包,具体参考。通过yml文件进行环境迁移,导出环境的配置信息,具体参考,导出后,删除最后一行path路径,name也可以改,默认为创建新环境时的名称。

  1. 导出环境
1
2
conda activate geo39
conda env export > C:\Users\huangs\Desktop\test\geo_39.yml
  1. 其他人的电脑或者平台上安装环境,==有网络==
1
2
conda activate base # 下面conda.bat是手误,但不影响
conda env create -f C:\Users\huangs\Desktop\test\geo_39.yml
  1. 其他,也可以自己手动写yml文件,见网站文档
  2. requirements.txt,使用pip创建、安装和迁移包,具体可见参考

离线迁移共享

上面是在有网的情况下进行的迁移,但有的情况可能没有网络,如私有云服务器,因此查了离线打包的方式,也非常方便,但有点小问题是两个电脑的系统需要一致,如均为Windows。其实这里也很好理解,实际上就是将环境整个目录压缩一下再放到另一个电脑装上去

直接解压并移动

ubuntu

如在ubuntu上,进入对应的目录之后:

1
2
3
4
5
6
# 压缩,-v表示压缩过程中显示文件
# -c 压缩文件内容
# -x 解压文件中的内容
tar -zcvf test.tar.gz directory_to_compress
# 解压缩
tar -zxvf test.tar.gz -C /tmp/extract/

windows也可手动压缩或conda-pack

手动解压缩操作略

conda-pack

  1. 在本机base环境中安装conda-pack并导出环境,如果安不了,可以下载文件安装conda pack file,tar.bz2是一种压缩文件格式。
1
2
3
4
conda install conda-pack
conda install -c conda-forge conda-pack
conda install conda-pack-0.4.0-py_0.tar.bz2
pip install conda-pack
  1. cd切换进入到准备用来存放压缩包的文件夹,
  2. 进入base环境,输入如下命令,导出环境,-p后接环境所在文件夹,打包需要一定的时间。完成后在当前目录下可以找到pachong.tar.gz,即打包完成
1
conda pack -p D:\Miniconda3\envs\pachong
  1. 文件拷贝到新的电脑或者通过ftp传到服务器,(需提前离线安装好miniconda或anaconda)
  2. 打开命令行anaconda prompt, 创建文件夹并解压缩,拷贝到env环境路径下,==必须放在envs下==。
  3. 激活环境并测试,成功,如个别包不能运行属正常,毕竟电脑环境不完全一致
1
2
3
4
5
6
7
mkdir D:\miniconda3\envs\pachong
# 或手动解压,然后拷贝到conda的envs目录下
tar -xzf D:\miniconda3\envs\pachong.tar.gz -C D:\miniconda3\envs\pachong
# 激活测试
conda activate pachong
conda-unpack
python

部分操作截图示意

其他略