大部分python项目都会有一个 requirements.txt ,用来记录项目的依赖。主要的写法如下所示
pip freeze > requirements.txt # 生成requirements.txt pip install -r requirements.txt # 从requirements.txt安装依赖 支持的写法 -r base.txt # base.txt下面的所有包 pypinyin==0.12.0 # 指定版本(最日常的写法) django-querycount>=0.5.0 # 大于某个版本 django-debug-toolbar>=1.3.1,<=1.3.3 # 版本范围 ipython # 默认(存在不替换,不存在安装最新版) 第三方工具生成pip freeze 会附带上一些不需要的包,以及某些包依赖的包~
pipreqs 自动分析项目中引用的包。对Django项目自动构建的时候忽略了mysql包,版本也很奇怪;而且联网搜索的时候遇到404就报错跳出了:joy: pigar 功能同上,会显示包被项目文件引用的地方(搜索下就能解决的问题啊= =感觉是伪需求),404的问题也存在 pip-tools 通过第三方文件生成 requirements.txt ,讲道理为什么不直接写呢,要通过第三方包来做一层转换 推荐用法一般项目会分为开发环境,测试环境,生产环境等……依赖的包会不同。推荐在文件夹下为每个环境建立一个 requirements.txt 文件。公有的包存在 base.txt 供引用
meeting git:(sync) tree requirements -h requirements ├── [ 286] base.txt ├── [ 80] local.txt └── [ 28] production.txt由于上面提到的工具并不好用~还是推荐手动维护依赖列表。毕竟 pip 安装后马上去编辑下依赖文件也不是什么麻烦事→_→