Python pip和conda在哪里保存已安装软件包的列表,以便他们知道谁安装了什么?

Python pip和conda在哪里保存已安装软件包的列表,以便他们知道谁安装了什么?,python,pip,conda,Python,Pip,Conda,我在我的conda环境中安装了一些pip,似乎conda和pip都遵循python惯例,将包安装到站点包文件夹中 当我使用pip list和conda list时,他们似乎很好地记录了谁安装了哪些软件包。问题是,这两个安装列表在Linux上存储在哪里?对于pip list,该库用于访问Python库的资源文件 为此,请访问活动分发版。从文档中,可以看到一个工作集 表示当前在sys.path上处于活动状态的分发 因此,当调用工作集的实例时,默认情况下,它将搜索位于系统路径上的模块 例如,当我运行s

我在我的
conda
环境中安装了一些
pip
,似乎
conda
pip
都遵循python惯例,将包安装到
站点包
文件夹中


当我使用
pip list
conda list
时,他们似乎很好地记录了谁安装了哪些软件包。问题是,这两个安装列表在Linux上存储在哪里?

对于
pip list
,该库用于访问Python库的资源文件

为此,请访问活动分发版。从文档中,可以看到一个工作集

表示当前在sys.path上处于活动状态的分发

因此,当调用
工作集
的实例时,默认情况下,它将搜索位于
系统路径
上的模块

例如,当我运行
sys.path

['/opt/conda/lib/python37.zip',
 '/opt/conda/lib/python3.7',
 '/opt/conda/lib/python3.7/lib-dynload',
 '',
 '/opt/conda/lib/python3.7/site-packages',
 '/opt/conda/lib/python3.7/site-packages/IPython/extensions'
]
这些是用于搜索已安装软件包的路径。下面是一个例子

import pkg_resources

# Define working set
working_set = pkg_resources.working_set

# Package, version and location 
[d for d in working_set]
>>>
[zipp 3.1.0 (/opt/conda/lib/python3.7/site-packages),
 zict 2.0.0 (/opt/conda/lib/python3.7/site-packages),
...,
attrs 19.3.0 (/opt/conda/lib/python3.7/site-packages),
 async-generator 1.10 (/opt/conda/lib/python3.7/site-packages),
 alembic 1.4.2 (/opt/conda/lib/python3.7/site-packages)]

可能是遵循源代码。您使用的是什么操作系统?为了补充这个答案,我发现在上述文件夹中,
pip list
查找名为
package\u name.egg info
,其中包含
Version
字段,或者名为
package\u name-x.y.z.dist-info
的文件夹,其中包含名为
METAFILE
的文件。
conda list
/conda meta
文件夹中的每个包搜索合法的
.json
文件