建一个干净的虚拟环境
场景:~/项目 是一个 Python 项目,~/仓库 是本地包仓库。实验机不连网,系统 Python 里没有 pip。 任务:给这个项目建一个虚拟环境,放在 ~/项目/.venv,建好之后里面要有 pip。做好之后运行 ~/check。 可
照清单把依赖装进去
场景:~/项目/requirements.txt 是依赖清单,~/仓库 里是本地 wheel。 任务:在 ~/项目/.venv 建虚拟环境,把清单里的依赖(连同它们的依赖)从本地仓库装进去。装好之后运行 ~/check。 可操作范围:只在分
会装上哪个版本
场景:~/项目/requirements.txt 是清单,~/仓库/索引.txt 列了仓库里每个包的每个版本和依赖。对照表列了八个版本号。 任务:照这份清单装完之后,httpkit 会是哪个版本?到对照表里查它对应的标记。可以真装一遍看,也
把装好的冻成锁
场景:~/项目/requirements.txt 是清单,~/仓库 是本地 wheel 仓库。 任务:建 ~/项目/.venv、照清单装好依赖,然后把实际装上的版本冻成锁文件 ~/项目/requirements.lock(每行「包==精确版
跑不起来,缺的是谁
场景:~/项目/工具.py 在别人机器上能跑,在这台实验机上一跑就报错。对照表列了八个名字。 任务:用系统的 python3 跑一下它,看报错说找不到哪个模块,到对照表里查这个名字对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以
把它构建成一个文件
场景:~/项目/src/app.py 是一个纯标准库的小程序(入口函数 main)。 任务:把 ~/项目/src 构建成一个能直接运行的单文件 ~/项目/dist/app.pyz——标准库自带的 zipapp 模块能做;python3 ~/
哪一条清单在仓库里找不到
场景:~/项目/需求B.txt 是另一个组件的依赖清单,~/仓库/索引.txt 列了仓库里有的版本。对照表列了八个包名。 任务:清单里有一条约束,仓库里没有任何一个版本能满足。找出那个包名,到对照表里查它对应的标记。 可操作范围:只在分给你
交付:一键构建脚本
场景:~/项目 有 requirements.txt 和 src/app.py,~/仓库 是本地 wheel 仓库。 任务:写一个 ~/项目/build.sh,在 ~/项目 下运行 bash build.sh 就能从零做完三件事:建 .ve
pip 说冲突,它在说什么
装清单时 pip 报 ResolutionImpossible。这句话的意思是【0】。
谁被夹住了
(每道题开头都有同一段:parse_ver 把「1.4.0」变成能比大小的元组,satisfies(版本, 约束) 判一个版本满不满足「>=1.4,<2」这种约束,split_req 把「httpkit>=1.4」切成名字