我正在将 Python 项目转换为使用 pip-tools。我创建了新的 *.in
文件,记录了我的项目要求,并在我的 Makefile
中有以下目标:
update-deps:
pip-compile -U --generate-hashes --allow-unsafe requirements/prod.in
pip-compile -U --generate-hashes --allow-unsafe requirements/dev.in
dev-install:
pip-sync requirements/*.txt
pip install -e .
我有一个 virtualenv 设置并且可以在我的本地成功运行两个目标。但是,当 dev-install
目标在 GitHub 操作工作流中运行时,我收到以下错误:
ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
.
.
.
我的项目针对不同版本的 Python 运行测试矩阵,列出的罪魁祸首依赖项因执行测试的 Python 版本而异。例如,在 Python 3.6 中,dataclasses
是 black
的一个依赖项,并且被列为没有被 ==
固定。看起来它与specified in the Pipfile的方式有关。
这是 pip-tools
、GitHub Actions 或其他方面的问题吗?
非常感谢任何帮助!