pip freeze是魔鬼

很多用Python的项目,喜欢用 pip freeze > requirements.txt 来保存依赖,而不是手动维护文件,pip freeze 是魔鬼。

来看看一个项目依赖的简化版:

        A           B
    /      \     /      \
C             D             E

可以看到,依赖中可能会出现共同依赖。为啥说 pip freeze 是魔鬼呢?

  • 可能会列入无关紧要的,或者非项目所需的依赖
  • 把次级依赖的版本也写死了,当后来需要升级顶级依赖的时候,很难分辨需要升级哪些,因此不可维护

那么我建议的写法是什么样的呢?仅写入顶级依赖,比如:

flask==1.1.1
PyMySQL==0.9.3
SQLAlchemy==1.3.13
alembic==1.4.0
gevent==1.4.0
gunicorn==20.0.4
redis==3.4.1

这样虽然时间久了,次级依赖可能也会冲突,但是解决起来比上面说的要简单很多。


更多文章
  • 服务器IP被ban学到的经验
  • socks5 协议详解
  • 开启HSTS(HTTP Strict Transport Security)
  • 网络乞讨之合并支付宝和微信的收款二维码
  • 从Chrome切换到Firefox
  • nomad简明教程
  • Linux下当笔记本合上盖子之后只使用扩展显示器
  • Ubuntu 18.04 dhcp更换新IP
  • Python中的新式类(new style class)和老式类(old style class)
  • Python Requests 简明教程
  • 密码技术简明教程(三):证书和TLS
  • SEO学习笔记
  • 密码技术简明教程(二):散列、消息认证码和数字签名
  • 密码技术简明教程(一):对称加密和非对称加密
  • Kubernetes 笔记