为什么两份都要

既然锁文件已经精确到版本,为什么还留着清单?因为【0】。

开始练习 →

锁文件该不该进版本库

项目的锁文件应该【0】。

开始练习 →

锁和清单不一致

清单写 httpkit>=1.5,锁文件里却是 httpkit==1.4.0。这说明【0】。

开始练习 →

解析一次、冻住

(每道题开头都有同一段:parse_ver 把「1.4.0」变成能比大小的元组,satisfies(版本, 约束) 判一个版本满不满足「>=1.4,<2」这种约束,split_req 把「httpkit>=1.4」切成名字

开始练习 →

两份锁差在哪

(每道题开头都有同一段:parse_ver 把「1.4.0」变成能比大小的元组,satisfies(版本, 约束) 判一个版本满不满足「>=1.4,<2」这种约束,split_req 把「httpkit>=1.4」切成名字

开始练习 →

补全:读清单

(这一节多了:parse_requirements 读清单文本(跳过空行和 # 注释),freeze 把选好的版本写成锁文件文本,parse_lock 读回来,diff_lock 比两份锁。) 补全 parse_requirements(t

开始练习 →

补全:锁过期了吗

(每道题开头都有同一段:parse_ver 把「1.4.0」变成能比大小的元组,satisfies(版本, 约束) 判一个版本满不满足「>=1.4,<2」这种约束,split_req 把「httpkit>=1.4」切成名字

开始练习 →

为什么要隔离

项目甲要 httpkit<2,项目乙要 httpkit>=2。两个项目在同一台机器上都要能跑。办法是【0】。

开始练习 →

激活之后变了什么

source .venv/bin/activate 之后,最要紧的变化是【0】。

开始练习 →

虚拟环境目录该不该提交

.venv/ 目录应该【0】。

开始练习 →