用诗歌运行pytest软件包

时间:2020-05-13 20:10:02

标签: python pytest python-poetry

我是诗歌新手,想通过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

但是,这会使mylib和mylib混乱。我也想将该环境用于其他软件包。

我的问题是:进行诗歌和pytest的正确方法是什么?

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

2 个答案:

答案 0 :(得分:1)

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

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


如果已经设置了所需的虚拟环境,请在运行install命令时将其激活。如果不这样做,poetry将尝试创建自己的虚拟环境,可以将您的应用安装到其中,这可能不是您想要的。

答案 1 :(得分:0)

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

如果你没有那个,poetry run 在你的 home env 中找到 pytest 实例,但是那个实例不会找到 venv。我认为文档并没有说清楚。