@Lenciel

给Python标准库充电

Python 的自荐页面About Python上号称自家的标准库是”batteries included”的,但实际情况却不是这样。对 Python 标准库的批评几乎从来没有中断过。著名的 Python 包Requests的作者甚至决定永久把 Requests 保持为第三方库而拒绝加入标准库,他的理由是:加入标准库就会死翘翘

再举个例子,我们最近的项目里面都用到了pytz。标准库里面的 datetime 是支持时区的(tzinfo类),但是并没有包含时区信息(tzinfo 是抽象类需要自己实现)。遵照前人的经验使用 pytz 是最好的办法12

所以不奇怪的是,几乎所有的 Python 项目都会引用一堆优秀的第三方库。为了管理这些依赖一般都会用上 pip:

  • 在项目里面用 pip freeze 生成一个requirement.txt文件
  • 在创建virtualenv的时候使用之前生成的文件安装所有的依赖

为了不在每次运行pip install -r requirements.txt的时候都下载一堆依赖,你还可以打开 pip 的download cache。如果整个公司在做项目的时候都需要经常使用一些包,甚至可以考虑做一个Pypi的库来共享,类似于 Maven 的 Repo。

欢迎留言