Python Conda在哪里保存与Conda环境关联的已编译库?

Python Conda在哪里保存与Conda环境关联的已编译库?,python,anaconda,conda,Python,Anaconda,Conda,我已经编写了一个apachesparkpython脚本,出于兼容性原因,在向集群提交Spark作业时,我需要通过特定版本的sciketlearn。问题是我不确定在哪里可以获得我需要的scikit学习二进制文件/可执行文件的副本。我认为这不像下载scikit学习源代码并自己编译那样简单,因为我听说scikit学习有很多依赖项,我不确定我需要的版本需要哪些依赖项。我想我可以用我需要的特定scikit学习版本创建一个Conda环境,这样Conda就可以为我完成所有编译工作,但我不确定Conda在哪里保

我已经编写了一个apachesparkpython脚本,出于兼容性原因,在向集群提交Spark作业时,我需要通过特定版本的sciketlearn。问题是我不确定在哪里可以获得我需要的scikit学习二进制文件/可执行文件的副本。我认为这不像下载scikit学习源代码并自己编译那样简单,因为我听说scikit学习有很多依赖项,我不确定我需要的版本需要哪些依赖项。我想我可以用我需要的特定scikit学习版本创建一个Conda环境,这样Conda就可以为我完成所有编译工作,但我不确定Conda在哪里保存它构建的库。我尝试在默认的venv文件夹下进行检查,但没有看到任何有希望的结果

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

$ conda install scikit-learn=0.16.1
如果您想要每个软件包的确切版本,可以执行以下操作:

$ conda list -e > requirements.txt
然后创建一个新环境,如下所示:

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

在提取包之前,包存储在
(前缀)/pkgs
文件夹中。提取的文件可以存在于前缀中的许多位置-无论包指定什么。如有必要,您可以将程序包tarballs分发,并直接从中安装(将它们指定为参数
conda install
)。然而,按照Alexander在这里的建议做确实更好:创建一个固定版本的需求文件。您还应该考虑使用conda env。它在从anaconda.org获取包方面比从conda list获取的普通需求文件更具灵活性


conda env上的文档:

我可以在conda中安装正确版本的依赖项,问题是我不确定这些依赖项对应的文件存储在哪里。我希望从Conda中提取依赖项文件,这样我就可以在完全不同的地方使用它们(例如,在Hadoop集群上,我无法直接访问我的Conda环境)。我想在我的Hadoop作业中附带Conda依赖项文件。无论如何,我不确定您是否能够将Conda安装的二进制文件可靠地移动到完全不同的系统。我自己也不了解细节,但这可能会有所帮助: