阅读与运行指南
在线站点 · 版本发布与下载 · 返回项目首页 · 课程 1 · 课程 2 · 课程 3 · 课程 4
先找到一个实验
从首页课程表进入课程目录,再点击实验名称查看完整入口。目录提供在线报告、HTML 计算阅读版、Jupyter、Wolfram 与源报告 PDF 的直达链接。
| 文件 | 用途 | 打开方式 |
|---|---|---|
report/report.md |
整理后的完整实验报告 | GitHub、VS Code 的 Markdown 预览 |
report/report.html |
排版后的报告阅读版 | 在线浏览器直接访问,也可下载后本地打开 |
notebooks/analysis.html |
包含已保存图表及适用交互的计算阅读版 | 在线浏览器直接访问,也可下载后本地打开 |
notebooks/analysis.ipynb |
可修改并重算的 Python 笔记本 | JupyterLab、VS Code |
Paclet 中的 .nb |
可修改并重算的 Wolfram 笔记本 | 本机 Wolfram 前端 |
Paclet 中的 .paclet |
包含代码、数据和 Notebook 的独立安装包 | Wolfram 的 PacletInstall |
pdf/ 中的 .pdf |
由原始 DOCX 转换的源资料 | GitHub PDF 预览或本地 PDF 阅读器 |
源报告 PDF 用于对照原始资料;重新整理和核算的报告位于各实验的 report/。源资料的文件名保留原样,实验归属以课程目录和 PDF 清单为准。
在浏览器中查看 HTML
从在线站点或课程目录中的在线入口进入实验。HTML 计算阅读版可直接操作已有控件,报告阅读版提供完整排版。例如:单摆在线计算 · 单摆在线报告。
克隆或下载完整仓库后,也可在本机浏览器打开仓库中的原始 HTML;保留完整目录可同时使用报告引用的相对路径图片。
下载版本阅读包
从版本发布下载 general-physics-lab-v0.1.0-reading.zip,解压后进入其中的 general-physics-lab-v0.1.0 文件夹,启动随包提供的本地阅读服务:
Expand-Archive .\general-physics-lab-v0.1.0-reading.zip -DestinationPath .\reading
cd .\reading\general-physics-lab-v0.1.0
python serve.py
在浏览器打开:
http://127.0.0.1:8000/general-physics-lab/
阅读包保持在线站点的 /general-physics-lab/ 路径,serve.py 将该目录、公式资源和图表一起提供给本机浏览器。服务仅绑定本机地址;结束时按 Ctrl+C。使用其他版本时,将文件名与解压目录中的版本号相应替换。
阅读包用于报告、图表和已有控件;编辑数据或重新运行 Python、Wolfram 计算时,使用完整仓库与对应运行环境。
克隆仓库的本地预览
在仓库根目录启动本地预览服务:
python -m http.server 8000 --bind 127.0.0.1
然后打开:
http://127.0.0.1:8000/experiments/course-01/pendulum/notebooks/analysis.html
其中 course-01/pendulum 可替换为其他实验标识。查看报告阅读版则将后半段改为 report/report.html。结束时在启动服务的终端按 Ctrl+C。
HTML 中的滑块、菜单、曲线提示与缩放在浏览器中执行。数学公式由 MathJax 排版。
运行 Jupyter Notebook
以下命令在 Windows PowerShell 中执行。已有本地仓库时直接进入仓库根目录。
git clone https://github.com/HNNUYUXUAN/general-physics-lab.git
cd general-physics-lab
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[test]" jupyterlab
.\.venv\Scripts\python.exe -m ipykernel install --user --name general-physics-lab --display-name "General Physics Lab"
.\.venv\Scripts\python.exe -m jupyterlab
Python 要求 3.11 及以上。macOS/Linux 的虚拟环境解释器路径为 .venv/bin/python;按本机环境调整命令。
在 JupyterLab 打开一个实验的 notebooks/analysis.ipynb,选择 General Physics Lab 内核,重启内核并运行所有单元。Notebook 自带执行输出;GitHub 静态预览可用于阅读,较大的文件可下载到本机查看。
成稿图表使用宋体(SimSun)与 Times New Roman。运行前安装这两种字体。Markdown/Jupyter 的数学公式使用标准 LaTeX,可在 VS Code 或 Jupyter 中查看。
只想重新检查某个已保存 Notebook 的执行情况:
.\.venv\Scripts\python.exe scripts/execute_notebooks.py --experiment course-03/rlc-resonance
执行结果保存在 .build/notebook-checks/。使用 --all 可检查全部 45 个实验。
打开 Wolfram Notebook
每个实验提供独立 Paclet。推荐使用实验入口中的安装包,这样代码、数据和 Notebook 可一起加载。
下面以物质密度实验为例,在 Wolfram Notebook 中运行。将 root 改为本机仓库路径:
root = "D:/general-physics-lab";
PacletInstall[FileNameJoin[{
root, "notebook", "paclets", "DensityLab", "dist",
"DensityLab-0.1.0.paclet"
}]];
Needs["DensityLab`"];
DensityLab`OpenNotebook[]
打开后,从新内核依次求值。安装包自带规范数据,可以独立于本仓库使用。单摆使用 PendulumLab 包,其打开入口为 PendulumLab`PLOpenNotebook[];其他实验的包名见课程目录及 experiments/registry.json。
直接阅读 .nb 的已保存输出也需要 Wolfram 前端。若要重新生成安装包或完整三稿,还需可调用的 WolframScript、指定字体和可用前端。
修改数据与重新构建
先阅读数据与方法。规范读数位于实验的 data/,参数与单位位于 experiment.json。修改后运行该实验的完整双端流程:
.\.venv\Scripts\python.exe scripts/pipeline.py all --experiment course-03/rlc-resonance
.\.venv\Scripts\python.exe -m pytest
.\.venv\Scripts\python.exe scripts/check_delivery.py --experiment course-03/rlc-resonance
通过 WOLFRAMSCRIPT 指定本机 WolframScript 路径;Windows 可用 PHYSICSLAB_BUILD_ROOT 设置较短的暂存目录。构建、呈现检查和结果发布流程见开发文档。
--all 批量构建单摆以外的 44 个实验。单摆使用 scripts/pipeline.py all 重建。
计算记录与问题定位
每个实验的 results/verification.json 记录双端数值对照;执行、呈现和交互核验分别保存在本实验的 results/ 中。验收汇总集中列出资料限制。
| 现象 | 优先检查 |
|---|---|
| 打开了 HTML 文件的 GitHub 源码页 | 点击实验入口中的在线 HTML 链接;本机资料可用本地 HTTP 预览 |
| HTML 公式空白或显示原始符号 | MathJax 资源能否加载;可改用 VS Code/Jupyter 查看 |
| 图表中文乱码或字体检查失败 | 本机是否安装 SimSun 与 Times New Roman |
Python 找不到 physicslab |
是否在仓库根目录安装依赖,且选中了虚拟环境内核 |
| 直接求值 Wolfram Notebook 找不到包或数据 | 先安装对应 .paclet,再使用包的 Notebook 入口 |
| CI 没有重新执行 Notebook 或 Wolfram | 查看工作流摘要;公共运行器的字体和 Wolfram 状态会单独记录 |