报错 error: externally-managed-environment
pi@raspberrypi:~ $ sudo pip3 install rpi_ws281x
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
原因:从 Raspberry Pi OS Bookworm 开始,用户不能直接将库安装到 Python 的系统版本中
在旧版本的 Raspberry Pi OS 中,您可以使用 pip 直接将库安装到系统版本的 Python 中。从 Raspberry Pi OS Bookworm 开始,用户不能直接将库安装到 Python 的系统版本中。此更改由 Python 社区引入,而非 Raspberry Pi
取而代之的是 将库安装到虚拟环境 (venv)。
长期以来,Python 用户一直在处理操作系统软件包管理器(如 apt)和 Python 特定软件包管理工具(如 ipip)之间的冲突。这些冲突包括 Python- 级 API 的不兼容性和文件所有权的冲突。
从 Raspberry Pi OS Bookworm 开始,通过 pip 安装的软件包_必须安装到 Python 虚拟环境_ (`venv``)。虚拟环境是一个容器,您可以在其中安全地安装第三方模块,这样它们就不会干扰您的系统 Python。
要使用虚拟环境,需要创建一个容器来存储环境。根据您使用 Python 的方式,有几种方法可以做到这一点。
运行以下命令创建虚拟环境配置文件夹,将 替换为您想用于虚拟环境的名称(例如 env):
python -m venv <env-name>
然后,执行虚拟环境配置文件夹中的 bin/activate 脚本进入虚拟环境:
source <env-name>/bin/activate
要检查是否处于虚拟环境中,可使用 pip list 查看已安装软件包的列表:
要离开虚拟环境,请运行以下命令:
(<env-name>) $ deactivate
喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com。
END
推荐一下我写的的 App 熊猫小账本
熊猫小账本
一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。
- 支持备注,自定义时间偶尔忘记记账也没关系。
- 搜索历史记账,支持分类、金额、备注。
- 启动时需要面容/指纹验证,保护个人隐私。
- 支持自定义分类功能,自由添加修改分类。
- 统计图表,支出收入一目了然。
- 每天提醒记账,不会有其他推送。
- 桌面锁屏小组件开发中。。。