[英]How to use python black formatter under a project for python>=3.5 managed by poetry?
我用 Poetry 创建了一个 python 项目“foo”。 这是pyproject.toml
的内容:
[tool.poetry]
name = "bar"
version = "0.1.0"
description = ""
[tool.poetry.dependencies]
python = ">=3.5"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
这个package兼容Python3.5。 我想黑格式化程序,它与 Python3.5 不兼容。 我觉得用Python>=3.6开发是没有问题的,但是无法安装black formatter:
$ poetry add black --dev
[SolverProblemError]
The current project's Python requirement (>=3.5) is not compatible with some of the required packages Python requirement:
- black requires Python >=3.6
Because no versions of black match >19.10b0,<20.0
and black (19.10b0) requires Python >=3.6, black is forbidden.
So, because bar depends on black (^19.10b0), version solving failed.
所以我直接用pip
安装了黑色:
$ poetry run pip install black
这种方式不适合我。 欲以诗装black
。
我应该怎么做? (我不想修改对python>=3.6
的依赖)
似乎有点晚了,但实际上你可以做你想做的,即使黑色只支持 Python >=3.6.2
在您的 pyproject.toml 中,您可以定义受限制的依赖项,如https 中所述://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies
[tool.poetry.dependencies]
python = ">=3.5"
[tool.poetry.dev-dependencies]
black = {version = "^21.7b0", python = ">=3.6.2"}
诗歌不会抱怨,你也不会有任何问题,因为它是一种开发依赖。
您需要在 pyproject.toml 中编辑pyproject.toml
值:
[tool.poetry]
name = "bar"
version = "0.1.0"
description = ""
[tool.poetry.dependencies]
python = ">=3.6"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.