python pkg_resources模块实例详解

 更新时间:2026年03月12日 08:52:35   作者:幻灵H_Ling  
在Python中,pkg_resources模块是setuptools包的一部分,用于从安装的Python包中检索各种元数据,本文介绍python pkg_resources模块,感兴趣的朋友跟随小编一起看看吧

模块简介

英文使用文档

常用函数介绍(陆续更新)

pkg_resources.require(env=None, installer=None)
该函数负责返回对应包所需的所有依赖包,如:

import pkg_resources
pkg_resources.require('torch')
[torch 1.7.0+cu92 (/usr/local/lib/python3.6/dist-packages),
 numpy 1.19.4 (/usr/local/lib/python3.6/dist-packages),
 typing-extensions 3.6.6 (/usr/local/lib/python3.6/dist-packages),
 future 0.17.1 (/usr/local/lib/python3.6/dist-packages),
 dataclasses 0.8 (/usr/local/lib/python3.6/dist-packages)]

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

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

from pathlib import Path
import pkg_resources #此为管理安装包信息相关模块
file='/userhome/yolov5-t/requirements.txt'
for x in pkg_resources.parse_requirements(Path(file).open()):
    print(x.name)
    print(x.specifier)
Cython
matplotlib
>=3.2.2
numpy
>=1.18.5
opencv-python
>=4.1.2
Pillow
......

yolov5项目中使用的检查requirements文件的范式程序为:

def check_requirements(file='requirements.txt', exclude=()):
    # Check installed dependencies meet requirements
    import pkg_resources #此为管理安装包信息相关模块
    requirements = [f'{x.name}{x.specifier}' for x in pkg_resources.parse_requirements(Path(file).open())
                    if x.name not in exclude]
    pkg_resources.require(requirements)  #判断已经安装的包是否符合要求

pkg_resources是包资源管理模块,已经被标记为弃用

import pkg_resources
file_path = pkg_resources.resource_filename("my_package", "test.txt")
print(file_path)

到此这篇关于python pkg_resources模块简介的文章就介绍到这了,更多相关python pkg_resources模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyTorch使用GPU训练的两种方法实例

    PyTorch使用GPU训练的两种方法实例

    pytorch是一个非常优秀的深度学习的框架,具有速度快,代码简洁,可读性强的优点,下面这篇文章主要给大家介绍了关于PyTorch使用GPU训练的两种方法,需要的朋友可以参考下
    2022-05-05
  • python内存监控工具memory_profiler和guppy的用法详解

    python内存监控工具memory_profiler和guppy的用法详解

    这篇文章主要介绍了python内存监控工具memory_profiler和guppy的用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python 使用get_argument获取url query参数

    python 使用get_argument获取url query参数

    这篇文章主要介绍了python 使用get_argument获取url query参数的相关资料,需要的朋友可以参考下
    2017-04-04
  • python实现梯度下降求解逻辑回归

    python实现梯度下降求解逻辑回归

    这篇文章主要为大家详细介绍了python实现梯度下降求解逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 用python开发一款操作MySQL的小工具

    用python开发一款操作MySQL的小工具

    一个简单的使用python操作mysql的工具,提供了一些类似sql语法的方法,最终拼接成sql。可以很好地处理一些常见场景,不依赖orm 的同时避免手写大量sql
    2021-05-05
  • ConvNeXt实战之实现植物幼苗分类

    ConvNeXt实战之实现植物幼苗分类

    ConvNeXts由标准ConvNet模块构建,在准确性和可扩展性方面与 Transformer竞争,实现87.8% ImageNet top-1 准确率,在 COCO 检测和 ADE20K 分割方面优于 Swin Transformers。本文将利用ConvNeXt实现植物幼苗分类,需要的可以参考一下
    2022-01-01
  • 对python中for、if、while的区别与比较方法

    对python中for、if、while的区别与比较方法

    今天小编就为大家分享一篇对python中for 、if、 while的区别与比较方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 利用Python的Django框架生成PDF文件的教程

    利用Python的Django框架生成PDF文件的教程

    这篇文章主要介绍了利用Python的Django框架生成PDF文件的教程,用ReportLab API动态生成PDF文件,需要的朋友可以参考下
    2015-07-07
  • 使用Python的PIL模块来进行图片对比

    使用Python的PIL模块来进行图片对比

    这篇文章主要介绍了使用Python的PIL模块来进行图片对比的方法,搜索引擎最基本的图片搜索也是利用图片颜色值的对比来实现的,需要的朋友可以参考下
    2016-02-02
  • Python基于win32ui模块创建弹出式菜单示例

    Python基于win32ui模块创建弹出式菜单示例

    这篇文章主要介绍了Python基于win32ui模块创建弹出式菜单,结合实例形式分析了Python使用win32ui模块创建弹出式菜单的具体步骤与相关操作技巧,并附带说明了win32ui模块的安装命令,需要的朋友可以参考下
    2018-05-05

最新评论