Timeline Visualizer Python环境搭建:requirements.txt 与 requirements-dev.txt 区别全解析
【免费下载链接】google-timeline-visualizerVisualize your year in travel using your Google Location History (Timeline) data项目地址: https://gitcode.com/GitHub_Trending/go/google-timeline-visualizer
Timeline Visualizer是一个把 Google 位置历史(Timeline)数据生成旅行动画视频的开源项目,桌面版由 visualizer.py 实现。项目根目录有两个依赖清单文件 requirements.txt 和 requirements-dev.txt,很多新手会困惑:到底该装哪个?本文用最直白的方式讲清楚两个文件的区别和适用场景。
先认识这两个文件
两个文件都非常短,直接看内容最清楚:
requirements.txt(运行依赖):
numpy>=1.20.0 matplotlib>=3.5.0 pillow>=9.0.0 python-dateutil>=2.8.0requirements-dev.txt(开发依赖):
-r requirements.txt pytest>=8.0.0关键就在-r这一行:它表示先完整安装 requirements.txt 里的全部依赖,再额外装上pytest。所以两个文件的区别可以总结为一句话:
requirements-dev.txt = requirements.txt 的全部内容 + pytest 测试框架
四个运行依赖分别负责什么
| 依赖 | 作用 |
|---|---|
numpy | 数值计算,处理轨迹坐标、距离、时间轴 |
matplotlib | 核心绘图引擎,负责地图轨迹渲染与动画帧生成 |
pillow | 地图瓦片(tile)图片的下载、拼接与处理 |
python-dateutil | 解析 Google 导出 JSON 中的时间戳 |
这四个包在 visualizer.py 的导入区被统一检查,缺少任何一个都会提示运行pip install -r requirements.txt后退出。
什么时候用哪个文件?
场景一:我只想生成旅行视频(推荐)
普通用户只需安装运行依赖:
python -m pip install -r requirements.txt python visualizer.py --input Timeline.json --year 2025 --output my_trip.mp4注意:除了 Python 包,桌面版还需要Python 3.9+和FFmpeg(用于编码 mp4),这一点在 README.md 的 "Desktop Python version" 一节有说明。
场景二:我要跑测试 / 给项目提 PR(开发者)
项目内置了 15 个测试文件,位于 tests/ 目录,例如 test_parser.py、test_map_tiles.py。它们使用 pytest 的@pytest.mark.parametrize、monkeypatch等特性,必须安装开发依赖才能运行:
python -m pip install -r requirements-dev.txt python -m pytest这正是 README.md "Build and test" 一节推荐的方式。
一张图看懂两者关系
requirements.txt → numpy + matplotlib + pillow + python-dateutil requirements-dev.txt → 上面全部(-r 引入)+ pytest常见误区:装多了算错吗?
不算错,但没必要:
- 只装 requirements-dev.txt 也能正常生成视频,因为它是超集,多出来的只有 pytest 一个包;
- 只装 requirements.txt 再手动
pip install pytest,效果和装 dev 文件完全一样; - 生产环境(比如部署脚本)只装 requirements.txt,避免引入测试工具,环境更干净、安装更快。
总结:记住这一条就够了
| 你的身份 | 安装命令 |
|---|---|
| 普通用户,只想跑视频 | pip install -r requirements.txt |
| 开发者,要跑 pytest | pip install -r requirements-dev.txt |
这种"基础文件 + 开发文件通过-r继承"的写法是 Python 项目非常主流的组织方式:依赖有单一来源,不会重复维护,升级基础包时开发环境自动同步。掌握它之后,你在任何开源项目里看到类似的requirements-dev.txt、requirements-test.txt都能一眼看懂。
【免费下载链接】google-timeline-visualizerVisualize your year in travel using your Google Location History (Timeline) data项目地址: https://gitcode.com/GitHub_Trending/go/google-timeline-visualizer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考