Ian*_*ice 2 python django heroku virtualenv
我继承了一个臃肿的 Django 项目,该项目通过 Heroku 部署,其中包含许多大型库(包括 numpy、scipy 等)。看来以前的开发人员冻结了他的整个虚拟环境,我正在尽我所能修剪未使用的依赖项。
在需要安装 MatPlotlib 之后,Heroku 给了我一个错误,即 slug 大小太大。该库本身就超过 50MB。
remote: -----> Compressing...
remote: ! Compiled slug size: 321M is too large (max is 300M).
remote: ! See: http://devcenter.heroku.com/articles/slug-size
Run Code Online (Sandbox Code Playgroud)
为了让这个应用程序更新新功能,我想 grep 这个应用程序中每个依赖项的大小,以便我可以制作一个优先级列表来调查实际使用的那些。
如何循环浏览我的requirements.txt文件中的依赖列表并查看每个模块的编译大小?
假设您已经设置了一个虚拟环境并且您的所有依赖项都在 中site-packages,您只需执行以下操作即可接近:
du -sh /path/to/site-packages/* | sort -hr
Run Code Online (Sandbox Code Playgroud)
这是我机器上的输出:
29M .../site-packages/django
7.0M .../site-packages/pip
6.5M .../site-packages/ckeditor
6.2M .../site-packages/grappelli
5.2M .../site-packages/IPython
...
Run Code Online (Sandbox Code Playgroud)
当然,这并没有区分你的依赖和你的依赖的依赖,或者考虑到.slugignore,但它可能已经足够好了。
| 归档时间: |
|
| 查看次数: |
1319 次 |
| 最近记录: |