为了在我的团队中提高可重复性,我在新创建的存储库中导出了一个conda环境文件,该存储库运行conda env export > environment.yml。在
我的想法是让我的同事下载repo并运行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: /envs//bin
带有prefix变量的最后一行实际上显示了我的机器名和miniconda安装的唯一路径。在
当我的同事试图加载环境时,脚本实际上对他们很好,这意味着conda基本上忽略了prefix变量。在
我曾经和virtualenvs一起工作,我的绝对路径会被放进一个文件中,这个文件应该是共享的,以便在不同的机器上复制,这种想法让我很困惑。在
所以我的问题是:prefix变量用于什么?有没有一种方法可以导出conda环境文件而不使用它?在