pkg_resources 用于查找, 自省, 激活和使用已安装的Python发行版

常用的函数介绍

1、pkg_resources.require(env=None, installer=None)

该函数负责返回对应包所需的所有依赖包如:

import pkg_resources
pkg_resources.require('torch>=0.8.1')

输出:

[torch 1.7.0+cpu (d:\pycharm\envs\py3.8.10\lib\site-packages),
 dataclasses 0.6 (d:\pycharm\envs\py3.8.10\lib\site-packages),
 future 0.18.2 (d:\pycharm\envs\py3.8.10\lib\site-packages), 
 numpy 1.19.5 (d:\pycharm\envs\py3.8.10\lib\site-packages),
 typing-extensions 3.7.4.3 (d:\pycharm\envs\py3.8.10\lib\site-packages)]

当未安装该模块,或者该模块要求的版本不对时,则会报错。

2、pkg_resources.parse_requirements(file)

该函数可以解析file中的每一条要求,每一行转换为pkg_resources.Requirement类并进行进一步处理。通常的处理形式为调用每一行对应的name和specifier属性。前者代表需要包的名称,后者代表版本。如:

import pkg_resources
from pathlib import Path

file = './requirements.txt'
for x in pkg_resources.parse_requirements(Path(file).open()):
    print(x.name)
    print(x.specifier)

输出:

matplotlib
>=3.2.2
numpy
>=1.18.5
opencv-python
>=4.1.2
Pillow
...

3、pkg.parse_version(版本号)

用于解析比较两个版本号

cuurent为当前某个包的版本号 如3.8.10 而minimum为最低版本号:3.6.2 看当前版本号是否满足最低版本

result = pkg.parse_version(current) >= pkg.parse_version(minimum)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐