python - 如何使用`pip-tools`中的`pip-compile`从`setup.cfg`文件的`extras_require`部分创建`dev_requirements.txt`?
问题描述
我使用pip-tools来管理我的依赖项和环境,它们完美地requirements.txt
为我的包生成一个文件,该文件由setup.py
如下所示:
#! /usr/bin/env python
import os
from setuptools import setup
if "CI_COMMIT_TAG" in os.environ:
VERSION = os.environ["CI_COMMIT_TAG"]
else:
VERSION = "0.0.0"
setup(version=VERSION)
和setup.cfg
这样的:
...
[options]
python_requires = >=3.7
zip_safe = False
packages = find:
include_package_data = True
install_requires =
PyYAML
Cython
numpy==1.17.5
pandas==0.25.3
...
package_dir=
foo=bar
[options.extras_require]
testing =
tox>=3.1.2
pytest>=3.4.0
coverage =
coverage
pytest-cov>=2.5.1
other =
anybadge
...
运行$ pip-compile --index-url https://foo@bar@gitlab.my.host/api/v4/projects/236/packages/pypi/simple --no-header --allow-unsafe
产生我的包要求:
...
async-timeout==3.0.1
# via aiohttp
attrs==21.2.0
# via aiohttp
bcrypt==3.2.0
...
但这仅包括install_requires
我文件部分中的所有包setup.cfg
,而不包括extras_require
. 它应该与此处dev_requirements.in
描述的文件一起使用,但我宁愿只使用一个配置文件。
如何在不创建文件的情况下使用我的文件dev_requirements.txt
的这一extras_require
部分创建一个单独的文件?setup.cfg
pip-compile
dev_requirements.in
提前致谢!
解决方案
挖了一段时间后,我在另一个问题中找到了答案:
$ pip-compile --extra testing --extra other
推荐阅读
- angular - @HostListener('window:keydown') 与 @HostListener('window:keydown.arrowup') + @HostListener('window:keydown.arrowdown')?
- javascript - 聚合物:使用绑定附加动态组件标签
- algorithm - 空间聚类算法
- encoding - 用带负数的浮点对格雷码值进行编码
- java - 未处理的 SIGLARM 终止 Java 应用程序
- asp.net - ASP.NET MVC 中的数据检索代码存储在哪里?
- javascript - javascript提交表单会干扰之前的axios调用吗
- spring-boot - 结构化 Stackdriver 日志 - 将 MDC 添加到日志
- javascript - 使用 javascript 文件中的 Dojo 操作在 HTML 文件中创建图表
- python - 任务调度程序中的 Pyinstaller *.exe