用诗歌运行一个包 pytest

新手上路,请多包涵

我是诗歌的新手,想用 pytest 来设置它。我在以下设置中有一个包 mylib

 ├── dist
│   ├── mylib-0.0.1-py3-none-any.whl
│   └── mylib-0.0.1.tar.gz
├── poetry.lock
├── mylib
│   ├── functions.py
│   ├── __init__.py
│   └── utils.py
├── pyproject.toml
├── README.md
└── tests
    └── test_functions.py

在 test_functions 我有

import mylib

但是,当我跑步时

poetry run pytest

它抱怨 mylib 没有被包括在内。我可以跑

pip install dist/mylib-0.0.1-py3-none-any.whl

但这使我的 python 环境与 mylib 混乱。我也想将该环境用于其他包。

我的问题是:使用 poetry 和 pytest 的正确方法是什么?

我的底层 python 环境是干净的 pyenv python 3.8。使用 pyproject.toml 我为 mylib 创建了一个基于项目的虚拟环境。

原文由 Mike 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 470
2 个回答

您需要运行 poetry install 来设置您的开发环境。它将安装所有包和开发要求,一旦完成,它将对您的源代码进行开发安装。

您只需运行一次,代码更改将直接传播,不需要再次运行安装。


如果您已经设置了所需的虚拟环境,请注意在运行安装命令时激活它。如果你不这样做, poetry 将尝试创建一个新的虚拟环境并使用它,这可能不是你想要的。

原文由 Arne 发布,翻译遵循 CC BY-SA 4.0 许可协议

仅供参考,您还需要在 pyproject.toml 中将 pytest 指定为开发依赖项。

如果你没有那个, poetry run 在你的家庭环境中找到 pytest 实例,但那个实例 不会 找到 venv。我不认为文档说得很清楚。

原文由 WillowFinch 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题