第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数据了。到时候你会感谢自己今天花时间把环境整明白了。