分享自己写的一个可以自动检测项目 requirements.txt 的 package

2020-09-10 13:09:06 +08:00
 ferstar

偶尔会碰到自己本地环境加了某package, 但忘了往requirements.txt里加导致代码提交后CIimport error的问题, 找了一圈没有合适的轮子, 所以就自己造一个

工具也可以用来指导简化requirements.txtpackage内容, 比如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工具写在单元测试样例里

1660 次点击
所在节点    Python
2 条回复
no1xsyzy
2020-09-10 14:57:15 +08:00
pip-tools
ferstar
2020-09-10 16:45:00 +08:00
@no1xsyzy 感谢回复, 也考察过这个工具, 但是并不是很符合我的需求, 而且相对太重了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705778

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX