1
fgwmlhdkkkw 2020-05-21 00:49:19 +08:00
能有多大?差那点磁盘吗……
|
2
fgwmlhdkkkw 2020-05-21 00:53:15 +08:00
@fgwmlhdkkkw pip list 可以列出所有已安装的包,然后你运行程序,在程序中得到所有需要加载的包(具体 api 我不记得了,但是你甚至可以 hook import 模块来得到),然后对比一下。
|
3
wangyzj 2020-05-21 00:53:27 +08:00
pipreqs
|
4
ClericPy 2020-05-21 00:54:25 +08:00
以前一直用的 pipenv 或 poetry 管理依赖, 所以会自动清理不用的
你如果想找个类似 `go mod tidy` 的东西... 为什么一开始不就写好 requirements 然后一直用它安装呢, 很少用 freeze 功能, requirements 里也只写最顶层依赖, 所以锁的估计不够严格, 才使我不得不转到 pipenv 上去的... |
5
jin7 2020-05-21 02:11:42 +08:00 1
pipdeptree pippurge
|
6
ericls 2020-05-21 04:28:52 +08:00 via iPhone 1
反了 requirements 应该是 source of truth 而不是某个人的本地环境
简单办法就是看看哪些有 import 咯 |
7
xpresslink 2020-05-21 09:37:59 +08:00
楼主要明白一点很重要的东东,requirements.txt 只是开发者所需要的最顶层的依赖清单。
在执行 pip install -r requirements.txt 的时候安装的东西远不是这个清单中的包,因为这些包本身还要依赖其它的包,在安装过程中如果没有就会自动安装其它包。 但是要想要清楚的知道 requirements.txt 里面这些包依赖了哪些是比较困难的。 最省事的办法就是直接把 venv 整改删除了,重建再执行 pip install -r requirements.txt |