Repository navigation
v1.8.2 · 拆分「装环境」与「启动」· 源码版(不含题库)
源码版发布包:解压双击即可用,不含题库。
这个包里有什么
- 完整源码:后端 Python(
amti/)+ 前端 React 源码(web/src/) - 已构建好的前端(
web/dist/)—— 不用装 Node - 内置 LaTeX 编译器(
tex/)—— 不用装 TeX Live,导出 PDF 直接能用 - 内置 Python 安装包 + 离线依赖 wheel —— 没装 Python 的机器会自动装,且不用联网
demo数据/:4 道自编示例题(非真题)+ 完整考点大纲
不含什么
题库数据不在此包内(题目/、图片/、知识点.json、归档快照.json)。
要用自己的题库,按 README 把数据放进去。
界面截图也不随包发布 —— 那些图是实拍,画面里就是真题原题与答案。
怎么用(两步,各管一件事)
- 双击
安装环境.bat—— 只做这一次。
自动找 Python(没有就装包里自带的)→ 建运行环境 → 装依赖 → 自检。
已经就绪时它会直接退出、什么都不装,所以重复双击也没事。 - 双击
启动.bat—— 平时只用这一个。
它只负责启动:检查环境 → 铺 demo 数据 → 起服务并打开浏览器。
两个脚本职责分开:启动.bat 里一行找 Python 的代码都没有,
缺环境就叫你先跑 安装环境.bat。以前两件事揉在一个脚本里,
任何一步出问题都只能看到同一句刷屏的话,不知道该修哪。
本版变化(v1.8.1 → v1.8.2)
拆分「装环境」与「启动」
原来根目录的 启动.bat 把五件事塞在一条流程里:
找 Python → 装 Python → 建 .venv → 装依赖 → 起服务;
而 Windows一键脚本\1-安装依赖.bat / 2-起服务.bat 又把同样一套逻辑各抄了一份,
改一处忘一处。现在同一套逻辑只有一份:
| 文件 | 职责 |
|---|---|
安装环境.bat |
只管环境,一次性(已就绪就直接退出) |
启动.bat |
只管启动(从 11.6 KB 瘦到 2.9 KB) |
Windows一键脚本\1-安装依赖.bat |
4 行,转发到 安装环境.bat |
Windows一键脚本\2-起服务.bat |
4 行,转发到 启动.bat |
修:python / python3 无限对倒
找不到可用 Python 的机器上,这几行会无限刷屏、永远停不下来:
正在用 python 建运行环境 .venv ……
(这个 Python 建不出可用的运行环境,换下一个)
正在用 python3 建运行环境 .venv ……
根因:失败黑名单 BADPY 是单值,每次失败覆盖上一次 —— python 失败后被拉黑,
轮到 python3 失败时把 python 放了,于是两者来回对倒,
永远走不到「回落去装包里自带的 Python」那一步。
三处修:
- 黑名单改成累积列表,用
find判成员
(不能用!VAR:搜=替!:Python 路径里有冒号,那套语法会在第一个冒号处截断) - 显式跳过应用商店占位程序 —— 它被调用时退出码是 0,
于是版本检查"通过"、被当成真的 Python,直到建 venv 时才炸 - 加重试上限,黑名单再出岔子也绝不允许死循环
修:新装的 Python 跑不起来时,说清原因
如果系统里残留着旧的 Python 安装记录,Windows 会走「修复」而不是「安装」,
失败时只报一个看不懂的退出码 1603。现在会直接告诉用户:
这是残留记录导致的,去「应用和功能」里卸载所有 Python 再重试。
同时带上 v1.8.1 的两项
- 中文路径下导出 PDF 必定失败 → 改成自动用 ASCII 目录联接启动引擎
- 题目间距填裸数字(如
6)整卷编译失败 → 现在自动按6pt算 - 移除「知识链路」功能
sha256: 628dd26db73a0c6b929e2b67ae3709c083b0ffdff5c15b284262703b6f6c5b53