第2章:Python环境搭建——Anaconda安装、虚拟环境创建、Jupyter Notebook配置、必备库安装
说实话,很多做ADAS的工程师,一开始都栽在环境搭建上。
我记得刚入行那会儿,有个同事花了两天时间装OpenCV,最后发现是Python版本和库不兼容。嗯,这种坑,我踩过不止一次。所以这一章,咱们把环境搭得稳稳当当的。
2.1 为什么选Anaconda?
Python的包管理,说白了就是一场「依赖地狱」。你装一个库,它要A版本;另一个库,它要B版本。两个版本冲突,你就得折腾半天。
Anaconda就是来解决这个问题的。它自带Python解释器,还带了一个叫conda的包管理器。我个人习惯用conda来管理所有库,比pip稳得多。
核心优势:
- 自带Python和常用科学计算库
- conda可以自动解决依赖冲突
- 支持创建隔离的虚拟环境
2.2 Anaconda安装步骤
去官网下载对应系统的安装包。我建议选Python 3.8或3.9版本,太新的版本有些ADAS库还没适配好。
Windows用户注意:
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 如果不勾选,后面每次用conda都要进开始菜单找Anaconda Prompt
Linux/macOS用户:
- 下载.sh文件后,终端运行:
bash Anaconda3-xxx.sh - 一路yes就行,安装路径我习惯放
~/anaconda3
小技巧:安装完后,终端输入conda --version验证。如果提示找不到命令,多半是环境变量没配好。Windows用户重新打开命令行就行,Linux用户记得source ~/.bashrc。
2.3 虚拟环境创建——为什么必须做?
你想想看,一个项目用numpy 1.19,另一个项目用numpy 1.24。如果装在同一套环境里,迟早出问题。
虚拟环境就是给每个项目一个「独立的小房间」。我在项目中遇到过最惨的一次,就是没分环境,结果一个库升级把整个ADAS标定工具搞崩了。从那以后,我每个项目必建独立环境。
创建命令:
conda create -n adas_env python=3.8
adas_env是环境名,你可以改成项目名。比如adas_lane_detection之类的。
激活环境:
conda activate adas_env
激活后,终端前面会出现(adas_env)字样,说明你已经在虚拟环境里了。
退出环境:
conda deactivate
警告:千万不要在base环境里装太多库。base环境是Anaconda自带的,搞坏了重装很麻烦。我一般只在虚拟环境里装项目需要的库。
2.4 Jupyter Notebook配置
做ADAS数据分析,Jupyter Notebook几乎是标配。它能边写代码边看结果,还能加注释和图表。我个人习惯用它来做数据探索和算法原型验证。
安装Jupyter:
conda install jupyter
或者你已经有了,可以升级:conda update jupyter
配置内核:
为了让Jupyter能识别我们刚建的虚拟环境,需要把环境注册成内核:
conda activate adas_env
conda install ipykernel
python -m ipykernel install --user --name adas_env --display-name "ADAS环境"
这样在Jupyter里新建Notebook时,就能选择「ADAS环境」这个内核了。
避坑指南:我曾经忘了注册内核,结果在Jupyter里用的还是base环境,装了一堆库都找不到。记住:激活环境后,一定要执行python -m ipykernel install这一步。
启动Jupyter:
jupyter notebook
浏览器会自动打开,默认端口是8888。如果端口被占用,它会提示你换一个。
2.5 必备库安装
做ADAS数据分析,下面这几个库是吃饭的家伙。我按重要性排了个序:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| numpy | 数组运算、矩阵操作 | conda install numpy |
| pandas | 数据读取、清洗、分析 | conda install pandas |
| matplotlib | 数据可视化、画图 | conda install matplotlib |
| opencv-python | 图像处理、视频分析 | pip install opencv-python |
| pyarrow | 高效数据格式(Parquet)读写 | conda install pyarrow |
批量安装:
你可以一次性装完:
conda activate adas_env
conda install numpy pandas matplotlib pyarrow
pip install opencv-python
为什么opencv-python用pip?因为conda源里的OpenCV版本经常滞后,pip的更新更及时。我在项目中遇到过conda装的OpenCV不支持某些新摄像头格式,换成pip装就好了。
验证安装:
在终端输入python进入交互模式,然后依次导入:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import cv2
import pyarrow as pa
print("所有库导入成功!")
没有报错,说明环境搭好了。
2.6 常见问题与解决
我整理了几个新手最容易碰到的问题:
- conda命令找不到:检查环境变量,或者用Anaconda Prompt(Windows)
- 安装库时卡住:换国内镜像源,比如清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - Jupyter内核列表里没有新环境:重新执行
python -m ipykernel install,注意要在目标环境里执行 - OpenCV导入报错:试试
pip install opencv-python-headless,这个版本不依赖GUI库,服务器上也能用
重要提醒:每次开始新项目,记得先conda activate你的环境。我见过太多人忘了激活,直接在base环境里装库,最后项目依赖全乱套了。
好了,环境搭好之后,下一章咱们就开始正式处理ADAS数据了。到时候你会感谢自己今天花时间把环境整明白了。