Files
ZiPingEightChar/vendor/VENDOR.md
T
moxiaonian d9da4301cd 公众授权版:normal · 1000 次 · 有效期至 2026-12-31
副本编号 LY-20261007-AC63(水印指纹已嵌入)
含 README、.gitignore;排除 .DS_Store / __pycache__ / .pytest_cache
2026-10-07 17:29:52 +08:00

28 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# vendor/ —— 随包内置的依赖(免安装)
用户拿到 skill 后**无需 pip install**:运行期依赖的源码直接放在这里,
`scripts/cast_chart.py` 启动时把本目录插入 `sys.path` 最前(优先于环境已安装的包)。
## 内容
| 目录/文件 | 包 | 版本 | 来源 | 许可证 |
|---|---|---|---|---|
| `tyme4py/` | tyme4py | 1.5.0(==锁定) | PyPI / 工作区 `tyme4py-1.5.0/` | MIT(`tyme4py.LICENSE`) |
| `tzdata/` | tzdata | 2026.5 | PyPI | Apache-2.0(`tzdata.LICENSE`) |
两个包均为纯 Python / 纯数据,无编译产物,跨平台(macOS / Linux / Windows)、
跨架构可用。运行时唯一要求是 **Python ≥ 3.10**(`zoneinfo` 与类型标注语法需要)。
## 为什么 vendor 而不是打包 .venv
虚拟环境不可移植:`pyvenv.cfg` 与 activate 脚本硬编码创建时的绝对路径,
`bin/python` 是指向本机解释器的符号链接,且按 OS/架构绑定。
vendor 纯源码没有这些问题,同时把 `tyme4py==1.5.0` 的版本锁定做到了字节级。
## 如何升级
1. 用新版本源码替换对应目录(保持目录名不变);
2. 同步更新本表的版本号与 `pyproject.toml` / `requirements.txt` 的锁定;
3. 跑 `tests/` 黄金样本与规则库 `rules/tests/` 确认无回归
(历法库升级可能改变节气时刻,必须全量回归)。