如何访问正在编写的包的版本号?

364 天前
 hiwenvv

我尝试建立一个 Python 项目。我使用 Poetry 来管理依赖。在我的 pyproject.toml 里,有下列内容:

[tool.poetry]
name = "gitdida"
version = "0.2.0"

我的目录结构为:

project-root/
|-- pyproject.toml
|-- src/
|   |-- gitdida/
|       |-- __init__.py
|-- tests/
|   |-- test_script.py

我希望能在项目的代码文件里访问到 version。但是,Poetry 自身没有提供代码访问途径。我查找网络上的信息,chatGPT 说可以通过importlib.metadata取得版本号:

from importlib.metadata import version

def test_version():
    expected = "0.2.0"
    assert version("gitdida") == expected

但是,我执行测试后得到错误提示:importlib.metadata.PackageNotFoundError: No package metadata was found for gitdida

为什么会找不到 gitdida 包呢?我卡这里很久了

1330 次点击
所在节点    Python
1 条回复
hiwenvv
363 天前
呃,搞定了。
要先 `poetry install`,这样正在编写的项目就能被访问了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002124

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX