偶尔会碰到自己本地环境加了某
package
, 但忘了往requirements.txt
里加导致代码提交后CI
报import error
的问题, 找了一圈没有合适的轮子, 所以就自己造一个
工具也可以用来指导简化requirements.txt
的package
内容, 比如numpy
这个包, 实际上'tensorflow', 'pandas'
是有包含的, 所以requirements.txt
里只需要写'tensorflow', 'pandas'
就可以了, 完全没必要再去补numpy
具体运行效果:
Bad import detected: "bs4" # bad import 的依据是你在代码中 import 但又没把这个包写在 requirements.txt 里
/Users/ferstar/PycharmProjects/xxx_demo/xxx_spider.py:12
Bad import detected: "requests"
/Users/ferstar/PycharmProjects/xxx_demo/xxx_handler.py:17
"numpy" required by: {'numpy', 'scikit-learn', 'tensorflow', 'pandas'} # numpy 在这里相当于重复了, 可以删掉
附上项目地址: check-requirements-txt
PS: 可以配合pre-commit
使用, 也可以单独作为CLI
工具写在单元测试样例里
1
no1xsyzy 2020-09-10 14:57:15 +08:00
pip-tools
|