一、为什么在 IoT2050 上必须用 venv?
IoT2050 的示例镜像基于Debian Linux。从Debian 12(Python 3.11+)开始,系统 Python 被视为关键系统组件:
如果
pip随意写入/usr/lib/python3.x,可能破坏apt、系统工具和升级路径因此 Debian直接禁止
pip install xxx/pip3 install xxx
直接执行会报:
error: externally-managed-environment hint: See PEP 668
只允许两种安装方式:
| 方式 | 说明 |
|---|---|
apt install python3-xxx | 安装 Debian 官方维护的包 |
python3 -m venv(推荐) | 创建独立虚拟环境,隔离依赖 |
IoT2050 完全遵循这一 Debian 策略。
参考来源: