如何查看django版本|终端输入查询指令即可快速获取版本信息
项目上线前临时被运维拦在工位,对接环境配置的时候被逼着琢磨如何查看django版本,手边没有存常用笔记,内网环境锁死了外网访问,浏览器点开就是空白拦截页,只能凭着零散的实操记忆在终端里挨个试指令,桌面散乱堆放着没归类的依赖明细单,鼠标随意压在皱巴巴的打印代码纸上。最先设想从项目的requirements.txt文档里找答案,接连点开三个项目文件夹,才发现这份依赖清单被上个迭代的开发人员迁移至远端服务器,本机本地没有备份留存,原定半小时的打包筹备计划直接被打断,心里难免因为突发的查验需求变得急躁。
最先在命令行敲出pip show django,按下回车后终端快速刷新出包详情内容,Version后面紧跟的字符就是当前安装的框架版本,当时只觉得这条命令好用,完全忽略的不同服务器环境差异,隔天切换到一台只配置了项目虚拟环境、没有全局pip的测试机,重复输入相同指令后页面直接弹出报错提示,系统检索不到pip管理工具,红彤彤的报错文字铺满小半个命令行界面,平白消耗掉十多分钟的调试空档。
换了另一种写法。
试着在终端输入python3进入交互式编程界面,成功进入环境后先行import django,紧接着调用django.__version__调取版本参数,这套操作不受全局包管理器约束,哪怕仅在项目专属虚拟环境安装框架,也能精准读出对应版本,那天内网没法搜教程的紧急处境里,正是靠着这套操作给运维交付了准确的版本数据。中途还犯下低级拼写错误,把前后双下划线错写成单横线,连续四次回车全是属性不存在的异常提醒,逐字核对代码才找出疏漏,慌乱操作间误碰键盘快捷键关掉终端,又要重新启动解释器重复操作步骤。
后续偶然摸索到借助pip list筛选查询的路子,运行指令后终端会罗列本机所有已安装依赖,需要在海量条目里手动检索Django字段,项目依赖繁杂的时候清单动辄几百行,逐个翻阅的效率极低,应急核对版本从不会优先选用这个方式,只有顺带盘点全量安装组件时才会偶尔使用。之前帮隔壁新来的实习生处理环境故障,对方只记住pip list这一个查询手段,盯着滚动的列表来回拖拽光标,耗费近三十分钟才找到目标版本,当场就和他说了另外两种更省事的查询思路。
不少老旧项目会选择在settings配置文件中标注适配的Django版本,可大多开发没有规范填写的习惯,前后经手六七个遗留老项目,仅有两份配置文档里标注的版本和实际运行环境匹配,剩下的要么空白留白,要么标注数值和本机已装框架出入很大,完全没法作为可信的查询凭据,往后碰到紧急查版本的需求,直接跳过翻阅配置文件这个选项。
一整天的环境核对工作收尾后,随手把两条稳定性最优的查询命令潦草记在记事本侧边,往后再临时碰到需要核验版本的场景,再也不用漫无目的的挨个测试无效指令。收拾完桌面杂物准备离岗,把散落一地的纸质项目单据胡乱塞进抽屉深处,出门的时候走廊的灯光刚好逐排熄灭大半。