交付:一个解析器
场景:~/仓库/索引.txt 每行「包 版本 依赖…」。
任务:写一个 ~/项目/检查.py,用法 python3 检查.py 清单文件,不用 pip、只读索引,打印这份清单会装上什么:每个包一行「包名 空格 版本」,按包名排序,含间接依赖,每个包选满足全部约束的最高版本;如果某个包没有任何版本能同时满足所有约束,只打一行「冲突 空格 包名」。写好之后运行 ~/check,它会用几份不同的清单试。
可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系统目录。实验机不连网、系统 Python 里没有 pip;python3 -m venv 建出来的环境里有 pip,装包要从本地仓库 ~/仓库 装(--no-index --find-links)。
提交:只提交那 8 位标记本身(形如 7F3A91C2),不要提交包名或版本号,也不要提交说明文字。大小写不限。
⚠️ 提交预算:这次实验最多可以提交错 3 次。用完需要重新开始实验——环境和答案都会变。
完成条件:提交内容与本用户、本次实验环境生成的预期结果一致。
全部评论