我是诗歌新手,想通过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创建了一个基于项目的虚拟环境。
答案 0 :(得分:1)
您需要运行poetry install
来设置开发环境。它将安装所有程序包和开发要求,完成后将对您的源代码进行开发安装。
您只需要运行一次,代码更改将直接传播,而无需再次运行安装。
如果已经设置了所需的虚拟环境,请在运行install命令时将其激活。如果不这样做,poetry
将尝试创建自己的虚拟环境,可以将您的应用安装到其中,这可能不是您想要的。
答案 1 :(得分:0)
仅供参考,您还需要在 pyproject.toml 中将 pytest 指定为开发依赖项。
如果你没有那个,poetry run
会在你的 home env 中找到 pytest 实例,但是那个实例不会找到 venv。我认为文档并没有说清楚。