用诗歌运行一个包 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 许可协议

阅读 466
2 个回答

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

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


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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题