【问题标题】:Difference between version pip show and importlib.metadata.version版本 pip show 和 importlib.metadata.version 之间的区别
【发布时间】:2023-01-05 17:06:35
【问题描述】:

我正在创建一个模块,此后称为我的模块,我使用pyproject.toml.该文件包含一个版本号。我想把这个版本号写在日志文件中我的模块.在我的模块我使用以下 sn-p (__init__.py) 来获取版本:

import importlib.metadata

__version__ = importlib.metadata.version(__package__)

del importlib.metadata

但是这个版本是错误的。这似乎是我安装过的最高版本。作为参考,命令python3 -m pip show mypackage 在本地安装模块后确实显示了正确的版本。我很难解释这种差异。谁能想到造成这种差异的原因?

我还运行了importlib.metadata.version(mypackage),它返回了相同的错误版本。

【问题讨论】:

    标签: python pip python-importlib


    【解决方案1】:

    该问题与使用 setup.py 遗留的构建工件有关。 importlibpkg_resources 将在本地安装中检测到这些工件,而pip 则不会。删除 mypackage.egg-info 目录解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 2010-11-16
      • 2011-07-13
      • 1970-01-01
      • 2013-03-21
      相关资源
      最近更新 更多