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
文件