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