一、前言:为什么推荐「apt + venv」?

在树莓派(Raspberry Pi)、Orange Pi 等 ARM 架构设备上,传统环境管理工具(如 Conda)常因 32 位 armv7l 架构兼容性 出现问题(如找不到 Python 3.10+ 包、SSL 验证失败)。而「apt + venv」方案是专为这类设备设计的轻量化选择,核心优势如下:

  • 系统原生适配:与 Raspbian、Armbian 等 ARM 系统完美兼容,无架构冲突

  • 零配置门槛:命令简洁,无需额外配置镜像源或解决依赖冲突

  • 环境隔离彻底:每个项目独立环境,避免依赖污染

  • 轻量省空间:虚拟环境仅包含核心文件,比 Conda 节省 60%+ 存储

二、准备工作:确认设备与系统

  1. 架构检查:打开终端,输入以下命令确认设备为 ARM 架构(树莓派 2/3、Orange Pi PC 等多为 armv7l):
uname -m

输出 armv7laarch64(64 位 ARM)均适用本方案。

  1. 系统更新:确保软件包列表为最新,避免安装时出现「包找不到」问题:
sudo apt update && sudo apt upgrade -y

三、Step 1:安装 Python 3.10(核心步骤)

场景 1:系统源已包含 Python 3.10(推荐)

大多数新版 Raspbian/Armbian 已自带 Python 3.10,直接通过 apt 安装:

\# 安装 Python 3.10 及虚拟环境工具

sudo apt install -y python3.10 python3.10-venv

场景 2:系统源无 Python 3.10(旧系统适配)

若执行上述命令提示 Unable to locate package python3.10,需先添加第三方源(deadsnakes 是长期维护的 Python 版本仓库):

\# 1. 安装源管理工具

sudo apt install -y software-properties-common

\# 2. 添加 deadsnakes PPA 源(按 Enter 确认)

sudo add-apt-repository ppa:deadsnakes/ppa

\# 3. 更新源并安装 Python 3.10

sudo apt update

sudo apt install -y python3.10 python3.10-venv

验证安装

输入以下命令,若显示 Python 3.10.x(x 为具体版本号),则安装成功:

python3.10 --version

四、Step 2:用 venv 创建独立虚拟环境

以「创建名为 wukong-project 的环境」为例,步骤如下:

1. 创建虚拟环境

\# 格式:python3.10 -m venv 环境路径/环境名

\# 示例:在主目录(\~)下创建 wukong-project 环境

python3.10 -m venv \~/wukong-project

执行后,主目录会生成 wukong-project 文件夹,包含独立的 Python 解释器、pip 工具。

2. 激活虚拟环境

激活后,所有 python/pip 命令都会指向当前环境(避免污染系统环境):

\# 激活命令(路径与创建时一致)

source \~/wukong-project/bin/activate

激活成功的标志:终端提示符前会显示 (wukong-project),示例:

(wukong-project) pi@orangepipcplus:\~\$

3. 验证环境隔离

激活状态下,输入以下命令,确认 Python 版本为 3.10:

\# 注意:此处直接用 python,而非 python3.10

python --version

输出 Python 3.10.x,说明环境已生效。

五、Step 3:在虚拟环境中安装依赖

激活环境后,用 pip 安装的所有库仅存在于当前环境中。以安装常用库为例:

\# 安装 pyaudio(语音处理)、numpy(数值计算)、pandas(数据分析)

pip install pyaudio numpy pandas

优化 pip 下载速度(可选)

默认 pip 源为国外地址,可配置国内镜像(如清华源)加速:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

六、Step 4:虚拟环境常用操作

操作需求 命令
退出当前虚拟环境 deactivate
再次激活环境(退出后) source ~/wukong-project/bin/activate
导出当前环境的依赖列表 pip freeze > requirements.txt
从依赖列表批量安装(如迁移项目) pip install -r requirements.txt
删除虚拟环境(谨慎操作) rm -rf ~/wukong-project

七、常见问题解决

1. 安装 pyaudio 时提示「缺少 portaudio.h」

原因:缺少 pyaudio 的系统依赖,解决方法:

sudo apt install -y portaudio19-dev

安装后重新执行 pip install pyaudio

2. 激活环境时提示「command not found: source」

原因:使用了非 bash 终端(如 sh),解决方法:

\# 切换到 bash 终端

bash

\# 再重新激活环境

source \~/wukong-project/bin/activate

3. 虚拟环境中 pip 版本过低

升级 pip 即可:

pip install --upgrade pip

八、总结

对于树莓派、Orange Pi 等 ARM 设备,「apt + venv」是兼顾 稳定性、轻量化、隔离性 的最佳 Python 环境方案。核心逻辑:

  1. 用 apt 安装系统级 Python 3.10(解决架构兼容问题);

  2. 用 venv 为每个项目创建独立环境(避免依赖冲突);

  3. 激活环境后再安装依赖(确保环境隔离)。

按照此方案操作,可轻松避开 Conda 在 ARM 设备上的兼容性坑,快速搭建稳定的 Python 开发环境。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐