如何获取Python项目中导入的依赖库的版本信息
如何确认Python项目中指定依赖库的实际使用版本
你可以按以下两种场景选对应的方法,查出来的结果都是准确的:
能正常激活项目运行环境的情况
这是准确率最高的查询方式,查出来的就是代码运行时实际调用的库版本:
- 命令行查询:激活项目对应的虚拟环境(venv/conda等)后,直接执行命令
pip show pandas
输出内容里的Version字段就是当前环境安装的pandas精确版本。如果是conda环境也可以用conda list pandas查询,结果是一致的。 - 代码内查询:绝大多数遵循Python社区规范的第三方库,都会内置
__version__属性存储版本号,你可以在项目代码里加入以下内容运行:
控制台打印出来的字符串就是当前解释器加载的pandas版本。import pandas as pd print(pd.__version__)提示:极少数不规范的第三方库可能没有
__version__属性,遇到这种情况直接用上面的pip show命令查询即可。
无法直接运行项目、只能拿到项目源码的情况
正规的Python项目都会在根目录存放依赖声明/锁定文件,直接在这些文件里检索对应库名就能找到版本要求:
- 最常见的是
requirements.txt文件:如果条目写的是pandas==2.2.1这种带==的格式,后面的数字就是项目锁定的精确版本;如果是pandas>=2.0,<2.3这种范围写法,说明项目只限定了兼容版本区间,没有固定精确版本,需要结合实际安装环境确认最终版本。 - 如果是用poetry管理依赖的项目,直接查根目录下的
poetry.lock文件,里面记录了所有依赖的实际安装精确版本,检索pandas对应的条目就能看到版本号;pyproject.toml里一般写的是版本兼容范围。 - 如果是用pipenv管理依赖的项目,查
Pipfile.lock文件即可,逻辑和poetry的lock文件一致。 - 如果是conda管理的环境项目,查
environment.yml或者对应平台的.lock锁定文件就能找到对应版本。
注意:如果你的设备上存在多个Python环境(系统Python、不同版本的conda环境、多个venv虚拟环境),查询前一定要确认当前激活的是运行这个项目用的环境,不然很容易查到其他环境下的库版本,和项目实际运行的版本不匹配。
内容的提问来源于stack exchange,提问作者user785099
相关产品推荐
相关产品推荐

