导出conda环境

最近碰到一个问题,使用Keras,Tensorflow在某厂里进行机器学习,把现场的数据拷到自己电脑里面,然后学习了一段时间,实验了下下,发现还行吧,准备把东西放到内网里面,再加个FastAPI提供个服务给其它程序调用,本来想用GRPC的,想想算了,也没有太高的要求,能用就OK,懒得麻烦,HTTP省心一些。

但是但是,这鬼是个内网,不能下载对应的包,心中一万匹马跑过。自己电脑虚拟机搞个Windows,然后把环境搭好,到能上网的地方把依赖下载好,直接拷贝好像不行哦。

于是上网搜了搜,有一个包conda-pack可以直接用。

1
2
conda install -c conda-forge conda-pack
conda pack -n my_env -o my_env.tar.gz

my_env.tar.gz拷到内网机器里面,然后搞个批处理文件就可以工作了。

startup.bat
1
2
3
4
@echo off
cd my_env
call bin\activate.bat
python main.py

其实还有其他方式

1
2
3
4
5
6
7
8
9
10
11
# 本机
conda create --name snapshot --clone myenv

# spec list
conda list --explicit spec-list.txt

conda create --name python-course --file spec-list.txt

# Environment.yml
conda env export environment.yml
conda env create -f environment.yml

ref: