我正在尝试构建一个Python项目。我使用 Poetry 来管理依赖关系。在我的
pyproject.toml
中,我有以下内容:
[tool.poetry]
name = "gitdida"
version = "0.2.0"
我的目录结构是这样的:
project-root/
|-- pyproject.toml
|-- src/
| |-- gitdida/
| |-- __init__.py
|-- tests/
| |-- test_script.py
我希望能够访问项目代码文件中的版本。然而,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包?我已经被困在这里很长时间了。
我询问了chatGPT 3.5和Bard,但都没有给我解决方案。
谢谢@Brian61354270 我运行
poetry install
后,脚本测试通过了。
谢谢。