我们知道,想要导出自己的anaconda python环境有两种方式:
- conda:
conda env export > environment.yml - pip:
pip freeze > requirements.txt
但是这两种方式导出的环境有一定缺陷,最好写成下面:
- conda:
conda env export | grep -v "^prefix: " > environment.yml可以移除prefix,即自己本地的anaconda地址,用于保护隐私,虽然这不影响别人安装 - pip:
pip list --format=freeze > requirements.txt, pip默认会使用本地的缓存文件进行package安装,所以pip freeze的时候,那些使用本地缓存安装的包默认有@ file:///opt/,这样的话其他人就没办法用你的requirement.txt; 而这里提供的这种写法可以让所有package都是版本号。
这之后,其他人要复现你的环境,只需要:
- conda:
conda env create -f environment.yml - pip:
pip install -r requirements.txt
注意:
在使用conda 或者 pip之前,先确定,自己当前这个虚拟环境里面的东西,是用pip 还是 conda安装的;例如,你如果所有的packages都是用pip安装的,那么你用conda env export > environment.yml导出的将会是一个空文件。
建议提前用conda list看看输出是不是为空,如果为空,那么大概率你的环境都是pip安装的,那么应该用pip freeze 而不是conda env export.
详情见:https://github.com/conda/conda/issues/10997
&spm=1001.2101.3001.5002&articleId=144448565&d=1&t=3&u=481d06319abe496e895b9ce85cc606aa)
30万+

被折叠的 条评论
为什么被折叠?



