如何解决pip和conda在哪里保存已安装软件包的列表,以便他们知道谁安装了什么?
我在pip install
环境中做了一些conda
,看来conda
和pip
都遵循python约定,将软件包安装到{{1} }文件夹。
当我使用site-packages
和pip list
时,似乎他们很好地记录了谁安装了哪些软件包。问题是,这两个安装列表在Linux上存储在哪里?
解决方法
对于pip list
,pkg_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 举报,一经查实,本站将立刻删除。