第3章:Python环境搭建——Anaconda安装、虚拟环境管理、必备库安装
说实话,很多新手在无人机巡检数据处理上栽跟头,不是算法不会写,而是环境没搭好。我见过太多人花了两天装库,最后发现版本冲突,气得想砸电脑。所以这一章,咱们把地基打牢。
3.1 为什么非要用Anaconda?
Python本身是个好语言,但它的包管理有时候挺让人头疼。你想想看,一个项目要用OpenCV 4.5,另一个项目要用OpenCV 3.4,直接装全局的话,后装的会把前面的覆盖掉。这就是所谓的「依赖地狱」。
Anaconda就是来解决这个问题的。它自带Python解释器,还带了一个叫conda的包管理器。我个人习惯用conda来创建隔离的环境,每个环境就像一个小房间,互不干扰。
核心优势:
- 自带Python和常用科学计算库
- conda命令比pip更擅长处理二进制依赖(比如GDAL这种C++库)
- 环境切换只需一行命令
3.2 Anaconda安装实战
去官网下载Anaconda安装包,选Python 3.9或3.10版本。我建议别追最新版,3.12有些库还没适配好。
安装时注意两点:
- 安装路径不要有中文和空格——我曾经因为路径带了个空格,折腾了一下午
- 勾选「Add Anaconda to my PATH environment variable」——虽然安装程序会警告,但加上更方便
装完后打开终端(Windows用Anaconda Prompt),输入:
conda --version
如果看到版本号,说明装好了。没看到?检查环境变量,或者重启终端试试。
3.3 虚拟环境管理——你的项目隔离舱
虚拟环境是Python开发者的必备技能。说白了,就是给每个项目单独开一个「小房间」,里面装的库版本互不影响。
3.3.1 创建环境
conda create -n uav_inspection python=3.9
这条命令创建了一个叫 uav_inspection 的环境,Python版本指定为3.9。我个人习惯把环境名和项目名对应起来,这样一看就知道是哪个项目用的。
3.3.2 激活与退出
conda activate uav_inspection # 进入环境
conda deactivate # 退出环境
激活后,终端前面会出现 (uav_inspection) 字样,表示你现在在这个环境里操作。
小技巧: 如果你用VS Code,可以直接在左下角选择Python解释器路径,指向环境里的python.exe。这样不用每次手动激活终端。
3.3.3 查看与删除环境
conda env list # 列出所有环境
conda remove -n uav_inspection --all # 删除环境
嗯,这里要注意:删除环境是不可逆的,确认清楚再执行。
3.4 必备库安装——OpenCV、Pandas、Matplotlib、GDAL
无人机巡检数据处理,离不开这四个库。我按安装难度从易到难来讲。
3.4.1 OpenCV——图像处理核心
OpenCV用来处理无人机拍摄的可见光图像。比如缺陷检测、图像拼接、目标识别,都靠它。
conda install opencv-python
或者用pip:
pip install opencv-python
装完后测试一下:
python -c "import cv2; print(cv2.__version__)"
如果输出版本号,比如4.8.0,就成功了。
避坑指南: 我曾经在树莓派上装OpenCV,编译了整整6个小时。后来发现直接用预编译的whl包,5分钟搞定。所以能用conda或pip就别自己编译。
3.4.2 Pandas——数据处理利器
Pandas用来处理飞行日志、巡检记录表、缺陷统计等结构化数据。说白了,就是Excel的Python版,但比Excel强大得多。
conda install pandas
验证:
python -c "import pandas as pd; print(pd.__version__)"
Pandas安装一般不会出问题。如果遇到依赖冲突,试试用conda-forge频道:
conda install -c conda-forge pandas
3.4.3 Matplotlib——可视化必备
巡检报告里少不了图表。Matplotlib可以画缺陷分布图、飞行轨迹图、温度变化曲线等。
conda install matplotlib
验证:
python -c "import matplotlib.pyplot as plt; print('OK')"
如果你需要交互式图表,可以额外装seaborn,它基于Matplotlib但更美观:
conda install seaborn
3.4.4 GDAL——遥感数据处理的硬骨头
GDAL是处理地理空间数据的标准库。无人机巡检经常涉及正射影像、DSM、DOM等带地理坐标的数据,GDAL就是用来读写这些格式的。
GDAL安装是四个库里最麻烦的。因为它底层是C++写的,依赖很多系统库。
推荐方法:用conda-forge安装
conda install -c conda-forge gdal
这个方法会自动处理所有依赖,包括proj、geos等底层库。我建议用这个,省心。
备选方法:用pip安装
pip install gdal
但pip版本可能缺少一些地理投影支持。如果你遇到 ERROR 1: PROJ: proj_create_from_database 之类的错误,说明proj库没装好,还是换conda-forge吧。
验证安装:
python -c "from osgeo import gdal; print(gdal.__version__)"
如果输出版本号,比如3.6.2,就说明装好了。
我曾经踩过的坑: 在Windows上直接用pip装GDAL,结果报了一堆DLL缺失错误。后来用conda-forge一次性搞定。所以如果你在Windows上,强烈建议用conda-forge。
3.5 环境验证与常见问题
装完所有库后,建议写一个完整的验证脚本:
# check_env.py
import cv2
import pandas as pd
import matplotlib.pyplot as plt
from osgeo import gdal
print(f"OpenCV version: {cv2.__version__}")
print(f"Pandas version: {pd.__version__}")
print(f"Matplotlib version: {plt.matplotlib.__version__}")
print(f"GDAL version: {gdal.__version__}")
print("All libraries installed successfully!")
运行:
python check_env.py
如果全部输出版本号,恭喜你,环境搭建完成。
3.6 本章知识体系
下面这张图帮你理清本章的核心逻辑:
这张图展示了从Anaconda安装到四个必备库验证的完整链路。你跟着这个流程走,基本不会出大问题。
3.7 写在最后
环境搭建是无人机巡检数据处理的第一步,也是最容易劝退的一步。但只要你按照上面的步骤来,遇到问题先看报错信息,再查文档,基本都能解决。
我个人建议把环境配置过程写成脚本,下次换电脑时直接运行,省时省力。好了,环境搭好了,下一章咱们就开始真正处理无人机巡检数据了。
公众号:蓝海资料掘金营,微信deep3321