查看python安装了哪些包:三种实用查询方法
查看python安装了哪些包,可通过piplist、pipfreeze、Python内置模块查询三种核心方式实现,piplist适合日常快速查看完整安装包及版本,pipfreeze适配项目环境导出场景,内置模块查询可精准定位单解释器包列表,三种方法均适配Windows、Mac、Linux系统,仅虚拟环境场景下需提前激活环境后操作,否则会查询到系统全局包而非项目专属包。
Python包基础查询命令
你在终端或命令提示符中输入piplist,回车后会直接列出当前Python环境下所有已安装的第三方包,同时展示每个包的具体版本号,输出结果经过排版整理,包名和版本一一对应,阅读体验更清晰。该命令会包含通过pip、conda等多种方式安装的合法第三方包,不会遗漏常规安装的工具库,是普通用户日常查询最常用的方式。单次查询耗时较短,大多数普通电脑均可在1秒内完成列表加载。
区分环境是查询准确的核心前提,电脑存在多个Python版本时,直接输入pip指令大概率调用的是系统默认Python,想要精准对应指定版本,需要使用pip3、python-mpip、python3-mpip对应指令查询,避免出现查询结果和实际使用环境不匹配的问题。
精准筛选指定Python包
你无需滚动完整列表查找目标包,可直接使用筛选指令精准检索,Windows系统输入piplist|findstr包名,Mac和Linux系统输入piplist|grep包名,替换对应包名即可快速匹配出对应安装信息,未输出内容则代表该环境未安装目标包。该筛选方式支持模糊匹配,输入包名部分字符,即可匹配所有含该字符的相关安装包。
导出式查询Python安装包
pipfreeze同样可以查看python安装了哪些包,输出格式为“包名==版本号”的标准格式,相比piplist的排版,该格式无多余空格和备注,结构更加规整,专门用于项目依赖导出。你可以通过pipfreeze>requirements.txt指令,将所有已安装包及对应版本导出为文本文件,方便项目迁移、团队协作时统一环境配置。
该方法存在明确适用边界,pipfreeze只会展示第三方依赖包,不会展示Python内置标准库,同时会过滤掉系统自带的冗余依赖包,仅保留项目实际生效的安装包,不适合新手查看完整包列表,仅适配项目工程化使用场景。
Python代码内部查询安装包
通过Python代码可在程序内部主动查询环境安装包,适合需要在脚本中自动检测依赖、批量校验包版本的场景。你只需打开Python交互界面或编写简单脚本,导入pkg_resources模块,该模块为setuptools内置官方模块,是Python生态通用的包信息读取工具,可精准读取当前运行解释器的所有安装包数据。
执行简单循环代码即可输出结果,输入importpkg_resources,再输入forpkginpkg_resources.working_set:print(pkg.key,pkg.version),运行后即可逐条打印所有已安装包的名称和版本。该方式的优势是完全绑定当前运行的Python解释器,不会出现多版本混淆问题,查询精准度较高。
| 查询方法 | 核心优势 | 适用场景 | 内容特点 |
|---|---|---|---|
| piplist | 操作简单、展示全面 | 日常手动查看包列表 | 含所有第三方包,排版美观 |
| pipfreeze | 格式标准、适配导出 | 项目依赖打包迁移 | 仅核心依赖,无冗余内容 |
| 代码查询 | 精准绑定解释器 | 脚本自动检测依赖 | 适配程序内部调用场景 |
未激活虚拟环境时查询,所有方法都会读取全局Python环境的包数据,无法展示虚拟环境专属安装包。
