关于requirements.txt的一切
或许是因为太简单了,网上没有搜到比较完整的介绍
简介
大部分Python项目都会有一个requirements.txt
,用来记录项目的依赖。主要的写法如下所示
1 |
|
如果包来源为Github
某个commit
1 |
|
某个branch(master)
1 |
|
某个tag(0.1)
1 |
|
某个正式版本(3.7.1):
1 |
|
支持的写法
1 |
|
第三方工具生成
pip freeze
会附带上一些不需要的包,以及某些包依赖的包~
- pipreqs 自动分析项目中引用的包。对Django项目自动构建的时候忽略了MySQL包,版本也很奇怪;而且联网搜索的时候遇到404就报错跳出了😂
- pigar 功能同上,会显示包被项目文件引用的地方(搜索下就能解决的问题啊= =感觉是伪需求),404的问题也存在
- pip-tools 通过第三方文件生成
requirements.txt
,讲道理为什么不直接写呢,要通过第三方包来做一层转换
推荐用法
一般项目会分为开发环境,测试环境,生产环境等……依赖的包会不同。推荐在文件夹下为每个环境建立一个requirements.txt
文件。公有的包存在base.txt
供引用
1 |
|
由于上面提到的工具并不好用~还是推荐手动维护依赖列表。毕竟pip
安装后马上去编辑下依赖文件也不是什么麻烦事→_→
参考
pip文档 Requirements Files
Two Scoops of Django
Django | requirement.txt 生成
pigar
引用Github的包-爆栈网
关于requirements.txt的一切
https://blog.kdwycz.com/archives/all-about-requirements-txt/