第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 本章知识体系

下面这张图帮你理清本章的核心逻辑:

Python环境搭建知识体系 Anaconda 安装与配置 虚拟环境管理 必备库安装 官网下载 环境变量 创建/激活/删除 环境隔离 OpenCV Pandas Matplotlib GDAL 环境验证 → 编写check_env.py脚本

这张图展示了从Anaconda安装到四个必备库验证的完整链路。你跟着这个流程走,基本不会出大问题。

3.7 写在最后

环境搭建是无人机巡检数据处理的第一步,也是最容易劝退的一步。但只要你按照上面的步骤来,遇到问题先看报错信息,再查文档,基本都能解决。

我个人建议把环境配置过程写成脚本,下次换电脑时直接运行,省时省力。好了,环境搭好了,下一章咱们就开始真正处理无人机巡检数据了。


公众号:蓝海资料掘金营,微信deep3321