Conda在哪里保存与Conda环境相关的编译库?

时间:2015-09-01 19:47:24

标签: python anaconda conda

我编写了一个Apache Spark python脚本,出于兼容性原因,我需要在将Spark作业提交到集群时传递特定版本的scikit-learn。问题是我不知道在哪里可以得到我需要的scikit-learn二进制/可执行文件的副本。我不认为它像下载scikit-learn源和编译自己一样直接,因为我听说scikit-learn有很多依赖关系,而且我不确定我需要哪个版本的依赖项。我想我可以用我需要的特定scikit-learn版本创建一个Conda环境,这样Conda可以为我做所有编译,但我不确定Conda在哪里保存它构建的库。我尝试在默认的venv文件夹下检查,但没有看到任何有希望的东西。

2 个答案:

答案 0 :(得分:2)

Conda处理依赖关系。只需将版本传递给Conda:

$ conda install scikit-learn=0.16.1

如果您想要每个包的确切版本,可以执行以下操作:

$ conda list -e > requirements.txt

然后按如下方式创建新环境:

$ conda create -n my_environment --file requirements.txt

答案 1 :(得分:0)

包在提取之前存储在(prefix)/pkgs文件夹中。提取的文件可以在前缀中存在很多位置 - 只是包指定的任何位置。如有必要,您可以运送包tar包,并直接从它们安装(将它们指定为参数conda install)。但是,做Alexander在这里提出的建议确实更好:创建一个引脚版本的需求文件。您还应该考虑使用conda-env。它在从anaconda.org获取软件包方面比从conda list获得的普通需求文件更灵活。

关于conda-env的文档:http://conda.pydata.org/docs/using/envs.html