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版本和库都是独立的,互不干扰。
4.2 Anaconda安装步骤
安装其实很简单,但有几个坑我得提前告诉你。
4.2.1 下载与安装
- 去Anaconda官网下载对应操作系统的安装包。Windows选64位,Mac选Intel或Apple Silicon版,Linux选.sh文件。
- 双击安装,一路Next。但注意:安装路径不要有中文和空格。我曾经见过有人装在「C:\Program Files (x86)\数据分析」下面,结果后面各种报错。
- 安装过程中,会问你是否添加到PATH。Windows用户建议勾选,Linux/Mac用户我建议不勾,用命令行手动激活。
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 "环境搭建完成!"
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环境就搭好了。下一章,我们会用这个环境,真正开始读取和分析无人机日志。到时候你会发现,前面这些准备工作,花得值。