简介
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就报错跳出了"external nofollow" target="_blank" href="https://github.com/damnever/pigar">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安装后马上去编辑下依赖文件也不是什么麻烦事
setup.py 与 requirements.txt 区别
setup.py 这个文件是用来管理模块的,你可以将你的项目打包为模块上传到 pypi 中,也同样能将项目作为模块放入python 的系统加载模块目录下。
requiremens.txt 这个文件是列举你这个项目引用了哪些非本项目的依赖的,除此之外,没有其他作用。
因此,可以看出这两个项目其实并没有冲突关系,而且有很大共存的必要。
- 假如你的项目需要保存为系统模块,或者可安装为系统命令的 setup.py 就必不可少了
- 假如你的项目是可以直接运行的,那么 requirements.txt 也是必不可少。
- 如果你两种功能都需要,那么就两个文件都不能少。
有这两种功能都需要的么?
必须有啊,而且还很多,例如 Flask,他就支持两种方式:
- 以系统命令的方式启动,在 Flask 0.11.1 中新加入了一个 Click 包,他可以让你 setup 之后以命令的方式运行
- 直接运行,传统的 Flask 启动方式一般就是 app.run() 或者 python manage.py runserver
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]