第1章:环境准备——工欲善其事,必先利其器
做仿真开发,说白了就是跟操作系统、Python、代码版本打交道。我刚开始接触自动驾驶仿真时,光装环境就折腾了两天。嗯,今天咱们就把这些基础打牢,后面写代码才不慌。
本章核心目标:搭建一套稳定、可复用的开发环境,为后续仿真开发铺平道路。
1.1 Ubuntu系统安装——为什么选它?
你可能想问:为什么非要用Ubuntu?Windows不行吗?我个人习惯用Ubuntu做仿真开发,原因有三:
- 生态优势:ROS、Carla、Autoware这些仿真工具,原生支持Linux
- 包管理方便:apt-get一键安装,省去手动编译的麻烦
- 性能稳定:我曾在项目中遇到过Windows下内存泄漏的问题,换到Ubuntu后稳定多了
推荐版本:Ubuntu 20.04 LTS(长期支持版,2025年才停止维护)。
安装步骤(精简版)
- 下载ISO镜像(官网或清华镜像源)
- 制作启动U盘(推荐Rufus或balenaEtcher)
- 分区建议:/ 分区50GB,/home 分区剩余空间,swap 分区8GB
- 安装时选择「最小安装」,省去不必要的软件包
小技巧:安装时断网,可以跳过更新,安装速度翻倍。装完再换国内源,apt update一下就好。
1.2 Python环境配置——版本选择与虚拟环境
Python版本这块,我踩过坑。Ubuntu 20.04自带Python 3.8,但仿真项目经常需要3.9或3.10。怎么办?
我的建议:不要动系统自带的Python,用update-alternatives管理多版本。
# 安装Python 3.9
sudo apt update
sudo apt install python3.9 python3.9-dev python3.9-distutils
# 设置优先级(数字越大优先级越高)
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
# 切换版本
sudo update-alternatives --config python3
注意:千万别用sudo apt remove python3.8,系统组件依赖它,删了桌面环境可能崩掉。我曾经手贱试过,嗯,重装了系统。
虚拟环境——隔离的艺术
每个仿真项目依赖不同,用虚拟环境隔离是基本素养。我推荐venv,轻量且Python自带。
# 创建虚拟环境
python3 -m venv sim_env
# 激活
source sim_env/bin/activate
# 退出
deactivate
你想想看,如果所有项目都装全局,依赖冲突时有多头疼?虚拟环境就是你的「项目保险箱」。
1.3 Anaconda安装与使用——数据科学家的瑞士军刀
Anaconda是什么?说白了就是一个Python发行版,自带150+科学计算包。做仿真数据处理、机器学习模型训练,用它特别顺手。
安装步骤
- 去官网下载Linux版.sh安装文件
- 终端执行:
bash Anaconda3-2024.10-Linux-x86_64.sh - 一路回车,最后输入
yes同意协议 - 安装完成后,重启终端或
source ~/.bashrc
常用命令速查
| 命令 | 说明 |
|---|---|
conda create -n myenv python=3.9 |
创建名为myenv的环境,指定Python版本 |
conda activate myenv |
激活环境 |
conda deactivate |
退出环境 |
conda list |
查看已安装包 |
conda install numpy |
安装包 |
conda remove -n myenv --all |
删除整个环境 |
避坑指南:我曾经在conda环境里用pip装包,结果和conda包冲突,环境崩了。记住:优先用conda install,conda没有再用pip。混用时要小心。
1.4 Git版本控制基础——代码的后悔药
做仿真开发,代码改来改去是常态。没有Git,你可能会像我一样,文件夹里出现final_v2.py、final_v3_final.py这种鬼名字。Git就是你的时光机。
核心概念
- 仓库(Repository):代码的家
- 提交(Commit):拍一张快照
- 分支(Branch):平行宇宙,互不干扰
- 合并(Merge):把平行宇宙合并回来
日常操作流程
# 初始化仓库
git init
# 添加文件到暂存区
git add main.py
# 提交到本地仓库
git commit -m "初始化仿真主程序"
# 查看状态
git status
# 查看提交历史
git log --oneline
分支管理——仿真开发的利器
做仿真时,我习惯这样分分支:
main:稳定版本,只合并经过测试的代码dev:日常开发分支feature/sensor_model:开发新传感器模型fix/lidar_bug:修复激光雷达bug
# 创建并切换到新分支
git checkout -b feature/lane_detection
# 切回主分支
git checkout main
# 合并分支
git merge feature/lane_detection
重要提醒:合并前一定要先git pull更新本地仓库,否则可能出现冲突。我曾在合并时忘了pull,结果冲突文件改了一下午。
知识体系总览
下面这张图,帮你理清本章的知识结构:
本章小结
环境准备看似琐碎,但基础打牢了,后面写代码、跑仿真才能顺畅。Ubuntu提供稳定平台,Python和Anaconda管理依赖,Git守护代码安全。这四个工具配合好了,你的仿真开发效率至少提升一倍。
记住:别嫌麻烦,花半天时间把环境配好,后面省下的时间是以天计算的。我当年就是图省事,结果后面反复重装系统,血的教训啊。