4、Python环境搭建:Anaconda安装、Jupyter Notebook配置、必备库安装

说实话,很多做无人机外场测试的兄弟,一听到「搭环境」就头大。我当年刚入行时也这样,觉得飞控调参才是正经事,Python环境随便搞搞就行。结果呢?有一次在外场,笔记本上缺了个库,日志解析到一半直接崩了,现场几十号人等着看数据……嗯,从那以后,我再也不敢轻视环境搭建了。

这一章,我就带你一步步把Python环境整利索。咱们的目标是:一次配置,长期省心。

4.1 为什么选Anaconda?

你可能要问:直接用系统自带的Python不行吗?当然可以,但你会遇到几个头疼的问题:

  • 库版本冲突:项目A需要numpy 1.18,项目B需要1.22,装完一个另一个就废了。
  • 权限问题:在公司电脑上装全局包,动不动就报Permission denied。
  • 依赖地狱:装个pymavlink,结果它依赖的serial版本不对,折腾半天。

Anaconda就是来解决这些问题的。它自带了一个包管理器conda,可以创建多个独立的虚拟环境。每个环境就像一个小房间,里面的Python版本和库都是独立的,互不干扰。

我的习惯:每个项目建一个独立环境。比如这个课程,我就建了一个叫「drone_analysis」的环境。这样就算装坏了,删掉重来就行,不影响其他工作。

4.2 Anaconda安装步骤

安装其实很简单,但有几个坑我得提前告诉你。

4.2.1 下载与安装

  1. 去Anaconda官网下载对应操作系统的安装包。Windows选64位,Mac选Intel或Apple Silicon版,Linux选.sh文件。
  2. 双击安装,一路Next。但注意:安装路径不要有中文和空格。我曾经见过有人装在「C:\Program Files (x86)\数据分析」下面,结果后面各种报错。
  3. 安装过程中,会问你是否添加到PATH。Windows用户建议勾选,Linux/Mac用户我建议不勾,用命令行手动激活。
避坑指南:我曾经在Linux上直接sudo安装Anaconda,结果导致系统Python被覆盖,yum和apt都挂了。后来重装了系统……所以,不要用sudo装Anaconda,装在用户目录下最安全。

4.2.2 验证安装

打开终端(Windows用Anaconda Prompt),输入:

conda --version

如果看到类似 conda 23.7.4 的输出,说明安装成功。接着输入:

python --version

正常情况下会显示Anaconda自带的Python版本,比如 Python 3.11.5

4.3 创建虚拟环境

我个人习惯,每个课程或项目都建一个独立环境。这样干净、可控。

conda create -n drone_analysis python=3.10

这里我选了Python 3.10,为什么?因为pymavlink在3.11上有个小bug,3.10最稳。你想想看,要是因为Python版本问题导致库装不上,多冤枉。

创建完成后,激活环境:

conda activate drone_analysis

看到命令行前面多了 (drone_analysis) 字样,就说明你已经在虚拟环境里了。

4.4 Jupyter Notebook配置

Jupyter Notebook是我们做日志分析的主力工具。它支持交互式编程,写一段代码、看一段结果,非常适合外场快速分析。

4.4.1 安装Jupyter

在虚拟环境中执行:

conda install jupyter

或者用pip:

pip install jupyter

我个人更推荐conda安装,因为它会自动处理依赖关系,不容易出幺蛾子。

4.4.2 配置内核

为了让Jupyter能识别我们刚创建的虚拟环境,需要安装ipykernel:

pip install ipykernel
python -m ipykernel install --user --name=drone_analysis --display-name "Python (drone_analysis)"

这样,在Jupyter里新建Notebook时,就可以选择「Python (drone_analysis)」这个内核了。

小技巧:我习惯在项目根目录下放一个 start_jupyter.bat(Windows)或 start_jupyter.sh(Linux/Mac),里面写上 conda activate drone_analysis && jupyter notebook。这样双击就能启动,不用每次敲命令。

4.5 必备库安装

好了,环境搭好了,接下来装我们分析日志需要的三个核心库。

4.5.1 pymavlink

这是和MAVLink协议打交道的库。无人机日志(比如.bin或.tlog文件)就是用MAVLink格式存储的。没有它,我们连数据都读不出来。

pip install pymavlink

安装时可能会编译一些C扩展,需要系统有gcc。Windows用户如果报错,可以去官网下载预编译的wheel包。

验证安装:

python -c "from pymavlink import mavutil; print('pymavlink OK')"

4.5.2 matplotlib

画图用的。日志分析嘛,数据可视化是必须的。飞控的PID曲线、高度变化、GPS轨迹,都得靠它展示。

pip install matplotlib

验证:

python -c "import matplotlib; print(matplotlib.__version__)"

4.5.3 numpy

科学计算的基础库。说白了,所有数据在Python里都是以numpy数组的形式处理的。没有它,pymavlink读出来的数据你都没法算。

pip install numpy

验证:

python -c "import numpy; print(numpy.__version__)"

4.6 一键安装脚本

为了省事,我写了一个脚本,把上面所有步骤整合到一起。你直接运行就行。

创建 setup_env.sh(Linux/Mac)或 setup_env.bat(Windows):

# setup_env.sh
conda create -n drone_analysis python=3.10 -y
conda activate drone_analysis
pip install jupyter ipykernel pymavlink matplotlib numpy
python -m ipykernel install --user --name=drone_analysis --display-name "Python (drone_analysis)"
echo "环境搭建完成!"
重要提醒:运行脚本前,确保你已经安装了Anaconda,并且conda命令可用。如果遇到网络慢的问题,可以给conda换国内镜像源,比如清华源或中科大源。

4.7 常见问题与解决

问题 原因 解决方法
conda命令找不到 未添加到PATH 手动执行 source ~/anaconda3/bin/activate
pymavlink安装失败 缺少C编译器 Windows安装Visual Studio Build Tools;Linux安装gcc
Jupyter无法切换内核 ipykernel未安装或未注册 重新执行 python -m ipykernel install
matplotlib中文乱码 缺少中文字体 安装SimHei或设置字体为系统已有中文字体

嗯,到这里,你的Python环境就搭好了。下一章,我们会用这个环境,真正开始读取和分析无人机日志。到时候你会发现,前面这些准备工作,花得值。