第3章:Python环境搭建——安装必要的库与虚拟环境配置
说实话,很多初学者在GIS轨迹处理上栽跟头,十有八九是环境没搭好。我见过太多人花了两小时装库,结果因为版本冲突直接放弃。今天咱们就把这事一次性搞定。
3.1 为什么需要这些库?
先说说我们要装什么。四个核心库:folium、geopandas、shapely、pyproj。它们各司其职,缺一不可。
| 库名 | 作用 | 我的评价 |
|---|---|---|
| folium | 地图可视化,生成交互式HTML地图 | 最直观的轨迹展示工具 |
| geopandas | 地理数据处理,读写shp、geojson等格式 | GIS界的pandas,必装 |
| shapely | 几何对象操作,点线面计算 | 轨迹分析的基础工具 |
| pyproj | 坐标转换,处理不同投影系统 | 做轨迹回放绕不开它 |
我个人习惯把这四个库称为「轨迹处理四件套」。你想想看,做轨迹回放无非就是:读取数据→处理几何→转换坐标→展示地图。正好对应这四个库。
3.2 虚拟环境:为什么必须搞?
直接装全局不行吗?嗯,这里要注意。我在项目中遇到过好几次惨案:一个项目需要geopandas 0.10,另一个项目需要0.12,结果全局装完直接崩了。
虚拟环境说白了就是给你的每个项目一个独立的小房间。你在房间里随便折腾,不会影响其他项目。
核心原则:每个课程项目都建一个独立的虚拟环境。别偷懒,这是血的教训。
3.3 实操:一步步搭建环境
好,咱们开始动手。我假设你已经装了Python 3.8以上版本。没装的先去官网下,记得勾选「Add Python to PATH」。
步骤一:创建虚拟环境
打开终端(Windows用CMD或PowerShell,Mac/Linux用Terminal),执行:
# 创建虚拟环境,名字叫轨迹回放
python -m venv track_env
# 激活环境
# Windows:
track_env\Scripts\activate
# Mac/Linux:
source track_env/bin/activate
看到终端前面多了个 (track_env) 就说明激活成功了。我曾经有个学生死活激活不了,后来发现是PowerShell执行策略问题。如果你也遇到,试试:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
小技巧:激活后,终端提示符会变成 (track_env) C:\>。如果没变,说明没激活成功。
步骤二:安装核心库
激活环境后,直接pip安装。注意顺序——我建议先装geopandas,因为它会自动帮你装好很多依赖。
pip install geopandas
pip install folium
pip install shapely
pip install pyproj
为什么先装geopandas?因为它依赖的库最多(包括shapely、pyproj、fiona等)。先装它,后面的库可能都不用单独装了。我实测过,先装geopandas再装folium,能省一半时间。
步骤三:验证安装
装完后,一定要验证。别信pip的「Successfully installed」,它有时候会骗人。
python -c "import geopandas; import folium; import shapely; import pyproj; print('全部导入成功')"
如果没报错,恭喜你,环境搭好了。如果报错,别慌,看下一节。
3.4 避坑指南:我踩过的那些坑
坑一:Windows下geopandas装不上
我曾经在Windows上折腾了整整一下午。后来发现,直接pip install geopandas在有些Windows版本上会失败。解决方案:去 Christoph Gohlke的网站 下载对应的whl文件,然后本地安装。
pip install 下载的路径\geopandas-xxx.whl
坑二:版本冲突
有一次我装完folium,发现地图显示不出来。查了半天,原来是numpy版本太高了。解决方案:用requirements.txt锁定版本。
pip freeze > requirements.txt
下次重建环境时,直接 pip install -r requirements.txt 就行。
我的习惯:每次装完库,立刻执行 pip freeze > requirements.txt。这样万一环境崩了,三分钟就能重建。
3.5 依赖管理:让环境可复现
你想想看,如果代码给别人跑,结果人家装了一堆版本不对的库,那多尴尬。所以依赖管理很重要。
我推荐两种方式:
- requirements.txt:最基础,适合小项目
- Pipfile + Pipfile.lock:用pipenv管理,更专业
对于咱们这个课程,用requirements.txt就够了。但如果你以后做正式项目,建议学学pipenv或poetry。
# 生成依赖文件
pip freeze > requirements.txt
# 从依赖文件安装
pip install -r requirements.txt
3.6 本章知识体系
下面这张图,是我自己总结的环境搭建流程。你照着走,基本不会出错。
3.7 本章小结
环境搭建这事,说难不难,说简单也不简单。关键是别急,一步步来。我见过太多人卡在第一步就放弃了,其实只要按上面的流程走,十分钟就能搞定。
最后提醒一句:每次开始新项目前,先激活虚拟环境。我自己的习惯是在终端里永远开着环境名,看到 (track_env) 才安心。
好了,环境搭好了,下一章咱们就开始真正处理轨迹数据了。