微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我在pip install环境中做了一些conda,看来condapip都遵循python约定,将软件包安装到{{1} }文件夹。

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

解决方法

对于pip listpkg_resources库用于访问Python库的资源文件。

为此,Working Set访问活动发行版。在文档中,有一个工作集

代表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)]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。