如何通过pip list仅查看手动安装的主Python包而非依赖包?
如何用pip只查看手动安装的主包(排除依赖包)
pip本身没有专门的参数直接筛选“手动安装的主包”,但可以通过以下两种方法实现近似需求:
方法1:使用pip list --not-required
这个命令会列出没有被其他已安装包依赖的包,这类包基本就是你手动安装的主包(比如pandas),而像numpy这类被主包依赖的包会被自动排除。
执行命令:
pip list --not-required
注意事项
- 结果不是100%绝对精准:如果某个手动安装的包恰好被另一个手动包依赖,它也会被排除在结果之外。
- 全新虚拟环境中,初始的
pip、setuptools、wheel也会出现在结果里,不需要的话可以手动忽略。
方法2:对比虚拟环境初始包列表
如果是在虚拟环境中操作,可以先记录环境刚创建时的基础包列表,再对比当前包列表得到手动安装的内容:
- 虚拟环境创建后,先保存初始包列表:
pip freeze > initial_requirements.txt
- 安装完所需包后,运行以下命令对比:
comm -23 <(pip freeze | sort) <(sort initial_requirements.txt)
该命令会输出所有后续手动安装的包(包括主包和可能手动安装的依赖包),若之前没有手动安装过依赖,结果就是你需要的主包列表。
内容的提问来源于stack exchange,提问作者user20731251
相关产品推荐
相关产品推荐

