问题描述
我正在构建一个小的 Python 包,为此我已经配置了几个 extras;在我的 setup.cfg
中,我有以下内容:
[options.extras_require]
test =
coverage>=5,<6
pytest>=6,<7
pytest-cov>=2.8.1,<3
lint =
Flake8
这很好用;我可以在我的包目录中执行 pip install .
、pip install .[test]
、pip install .[lint]
或 pip install .[test,lint]
,它会安装正确的东西。
现在,我想创建一个新的附加程序 dev
,以便 pip install .[dev]
意味着安装 test
和 lint
附加程序。这可能吗?怎么样?
我试过例如
dev =
.[test]
.[lint]
但这会导致解析器错误。我还尝试在依赖项列表中显式引用我的包名称而不是 .
,但随后它开始从 PyPI 下载旧版本而不是使用当前目录。
解决方法
[options.extras_require]
test =
coverage>=5,<6
pytest>=6,<7
pytest-cov>=2.8.1,<3
lint =
flake8
dev =
%(test)s
%(lint)s