如何制作可在其他计算机上使用的anaconda环境文件?
我使用了将anaconda python环境导出到YML conda env export > environment.yml.导出environment.yml包含这一行prefix: /home/superdev/miniconda3/envs/juicyenv,它映射到我的anaconda的位置,这将在其他的PC上不同.
为了在我的团队中可重复地进行改进,我在一个新创建的存储库中导出了一个conda环境文件conda env export > environment.yml.
我的想法是让我的同事下载回购并运行conda env create -f environment.yml并准备好使用代码.
但是,我的一些同事向我指出,在yaml文件的底部有:
- readline=7.0=hc1231fa_4
- requests=2.18.4=py35h0d65e6b_1
- setuptools=38.5.1=py35_0
- six=1.11.0=py35h39a4c60_1
- sqlite=3.22.0=h3efe00b_0
- tk=8.6.7=h35a86e2_3
- urllib3=1.22=py35he002d57_0
- wheel=0.30.0=py35h5c0b906_1
- xz=5.2.3=h0278029_2
- zlib=1.2.11=hf3cbc9b_2
prefix: </path/to/your/anaconda/distribution>/envs/<env-name>/bin
Run Code Online (Sandbox Code Playgroud)
带prefix变量的最后一行实际上显示了我的机器名称和miniconda安装的唯一路径.
当我的同事试图加载环境时,脚本实际上对他们来说工作正常,这意味着prefix变量基本上被conda忽略.
我曾经使用virtualenvs和我的绝对路径进入一个文件,这个文件应该被共享以使事物在不同的机器上可重现,这真的让我很困惑.
所以我的问题是:什么是前缀变量用于什么,有没有办法导出没有它的conda环境文件?