Timeline Visualizer Python环境搭建:requirements.txt 与 requirements-dev.txt 区别全解析
2026/9/18 5:01:21 网站建设 项目流程

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.0

requirements-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.parametrizemonkeypatch等特性,必须安装开发依赖才能运行:

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
开发者,要跑 pytestpip install -r requirements-dev.txt

这种"基础文件 + 开发文件通过-r继承"的写法是 Python 项目非常主流的组织方式:依赖有单一来源,不会重复维护,升级基础包时开发环境自动同步。掌握它之后,你在任何开源项目里看到类似的requirements-dev.txtrequirements-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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询