如何查询Python3.10初始默认包、区分后装包并通过pip查看安装日期?
查看Python默认自带库的方法
首先要明确,Python安装后自带的内容分两类:一类是语言规范定义的标准库,所有合规发行版必须内置;另一类是安装包额外捆绑的工具类包(比如pip、setuptools),这类内容会随安装渠道不同有差异。
- 直接读取内置属性获取标准库列表:Python 3.10及以上版本内置了标准库名录,直接执行以下代码就能拿到全量标准库模块名:
import sys print(sorted(sys.stdlib_module_names))
如果是更低版本,可以在Python交互shell里执行help('modules')拉取当前环境能找到的所有模块,注意这个命令会触发全量模块导入,别在装了大量第三方包的环境里跑,容易卡顿或者抛导入错误。
- 干净环境验证捆绑包:执行
python -m venv test_clean_env创建一个不继承全局包的全新虚拟环境,激活后跑pip list,列出来的几个包就是当前Python安装包默认捆绑的非标准库工具,标准库本身不会出现在pip的管理列表里。
Python 3.10版本默认安装包说明
- 标准库部分是全局统一的:不管你用什么渠道装的Python3.10,只要是官方合规的发行版,用上面
sys.stdlib_module_names拉出来的列表就是固定的全量标准库,不存在渠道差异。 - 捆绑的工具包没有统一清单:
- 官方发布的Windows/macOS图形化安装包,默认配置下会捆绑pip、setuptools两个包,手动勾选tcl/tk、调试符号、标准库测试套件之类的可选组件时,才会额外安装对应内容
- Linux发行版软件源里的Python3.10(比如Ubuntu、Fedora源内的包)往往做了拆分打包,会把venv、tkinter、distutils这类标准库模块拆成独立的系统包,最小化安装的版本甚至默认不带pip
- conda、pyenv、Homebrew这类第三方渠道分发的Python3.10,捆绑的工具包也会按照渠道自己的打包规则调整,没有统一标准
区分初始自带库和用户自行安装的第三方库
- 第一步先排除标准库:把
sys.stdlib_module_names返回列表里的模块全部筛掉,这些是Python本身内置的,和pip安装行为没有关系。 - 第二步核对安装路径:执行
pip show 目标包名,返回结果里的Location字段如果指向当前环境的site-packages目录,再排除之前在干净虚拟环境里查到的默认捆绑包(一般是pip、setuptools、wheel这几个),剩下的全部是安装完成后用户自行装的第三方库。 - 快速筛选命令:直接执行
pip list --user,列出来的就是当前用户主动安装到用户目录的第三方包,不会显示系统级自带的包。如果是在虚拟环境里,直接跑pip list,排除前面说的几个默认捆绑的工具包,剩下的全是虚拟环境创建后安装的第三方内容。
pip管理第三方库与查看安装日期的方法
常用pip管理操作
- 安装包:
pip install 包名,需要指定版本就追加==版本号;升级已有包用pip install --upgrade 包名 - 卸载包:
pip uninstall 包名 - 导出/批量安装依赖:执行
pip freeze > requirements.txt可以把当前环境所有第三方包的版本信息导出到文本文件,换环境后执行pip install -r requirements.txt就能批量安装对应版本的包 - 查看包详情:
pip show 包名可以查到指定包的版本、依赖关系、安装路径、作者信息等内容
查看包安装日期
- 21.2及以上版本的pip已经内置了时间字段,直接执行
pip list --verbose,返回结果里的Installed列就直接显示每个包的安装时间。 - 如果是低版本pip没有内置时间字段,可以直接进入对应Python环境的
site-packages目录,找到目标包对应的文件夹或者.dist-info目录,查看目录的创建时间,就是这个包的安装/最后一次升级的时间。 - 也可以直接执行以下代码,批量输出所有已安装包的版本和安装时间:
import pkg_resources import os import time for package in pkg_resources.working_set: pkg_install_time = time.ctime(os.path.getctime(package.location)) print(f"{package.key}=={package.version} | 安装时间:{pkg_install_time}")
内容的提问来源于stack exchange,提问作者abtractumx
相关产品推荐
相关产品推荐

