Pip和conda在哪里保存已安装程序包的列表,以便他们知道是谁安装了什么? [英] Where does pip and conda keep the list of installed packages so that they know who installed what?
本文介绍了Pip和conda在哪里保存已安装程序包的列表,以便他们知道是谁安装了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在conda
环境中做了一些pip install
,似乎conda
和pip
都遵循了python约定,将包安装到site-packages
文件夹中。
当我使用pip list
和conda list
时,他们似乎很清楚谁安装了哪些包。问题是,在Linux上,这两个安装列表存储在哪里?
推荐答案
如果是pip list
,则使用pkg_resources库来访问Python库的资源文件。
表示sys.path上当前处于活动状态的分发。
因此,当调用WorkingSet
的实例时,默认情况下它将搜索位于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和conda在哪里保存已安装程序包的列表,以便他们知道是谁安装了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文