当前位置: 首页 > news >正文

pip install pyaudio sounddevice error: externally-managed-environment

shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddevice
error: externally-managed-environment× This environment is externally managed
╰─> To install Python packages system-wide, try apt installpython3-xyz, where xyz is the package you are trying toinstall.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. Makesure you have python3-full installed.If you wish to install a non-Debian packaged Python application,it may be easiest to use pipx install xyz, which will manage avirtual environment for you. Make sure you have pipx installed.See /usr/share/doc/python3.12/README.venv for more information.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.
shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ 

这个错误是因为你的系统启用了 PEP 668 的限制,导致你的 Python 环境被标记为 “externally-managed-environment”,即它被外部管理,不能使用 pip 在全局 Python 环境中安装包。这种机制的目的是避免 pip 和系统包管理器(如 apt)之间的冲突,防止对系统级 Python 依赖的破坏。

解决方案:

你有几种方式可以解决这个问题:

1. 使用虚拟环境

虚拟环境可以避免修改全局 Python 环境,并允许你独立安装所需的依赖。

  1. 创建虚拟环境:

    python3 -m venv venv
    
  2. 激活虚拟环境:

    • 在 Linux 和 macOS 上:

      source venv/bin/activate
      
    • 在 Windows 上:

      venv\Scripts\activate
      
  3. 安装 pyaudiosounddevice

    在虚拟环境中,你可以正常使用 pip 安装包:

    pip install pyaudio sounddevice
    

2. 使用 pipx 安装单个包

如果你不想创建虚拟环境,可以使用 pipx 来安装和管理包。pipx 会为每个包自动创建隔离的环境。

  1. 安装 pipx

    sudo apt install pipx
    pipx ensurepath
    
  2. 使用 pipx 安装所需包:

    pipx install pyaudio
    pipx install sounddevice
    

3. 强制使用 pip(不推荐)

你可以通过 --break-system-packages 参数强制安装包,但这可能会导致系统包和 pip 包的冲突,所以 不推荐 这种方法:

pip install pyaudio sounddevice --break-system-packages

结论:

最好的解决方案是使用 虚拟环境pipx,这可以避免对系统全局环境的修改,同时保证依赖的独立性和可控性。

http://www.lryc.cn/news/432822.html

相关文章:

  • HTML 转 PDF API 接口
  • http://localhost:15672/ 无法访问
  • 6.3图的遍历
  • 2024数学建模国赛选题建议+团队助攻资料(已更新完毕)
  • 大学课程-人机交互期末复习
  • 畅游5G高速网络:联发科集成Wi-Fi6E与蓝牙5.2的系统级单芯片MT7922
  • SpringSecurity原理解析(一)
  • 在Ubuntu 20.04上安装Nginx的方法
  • 基于苹果Vision Pro的AI NeRF方案:MetalSplatter
  • linux系统中,计算两个文件的相对路径
  • [数据集][目标检测]抽烟检测数据集VOC+YOLO格式22559张2类别
  • C和指针:结构体(struct)和联合(union)
  • [数据集][目标检测]电动车头盔佩戴检测数据集VOC+YOLO格式4235张5类别
  • 软件工程知识点总结(2):需求分析(一)——用例建模
  • 2024 年高教社杯全国大学生数学建模竞赛C题—农作物的种植策略(讲解+代码+成品论文助攻,均已更新完毕)
  • ?.操作符是什么
  • ArcGIS出图格网小数位数设置
  • 数学建模_缺失值处理_拉格朗日、牛顿插值(全)
  • 算法题之水壶问题
  • Java项目: 基于SpringBoot+mysql蜗牛兼职网兼职平台管理系统(含源码+数据库+答辩PPT+毕业论文)
  • C#数组中的Rank,GetUpperBound(), GetLength()
  • Android应用开发项目式教程——序
  • 【Spring Boot 3】【Web】统一处理 HTTP 请求体
  • uni-app开发微信小程序
  • Qt开发框架--完整的软件开发框架
  • Python爬虫-Amazon亚马逊oData参数
  • Q215 数组中第K大的元素
  • Java8特性:分组、提取字段、去重、过滤、差集、交集
  • Maven快速上手使用指南的笔记
  • MySQL面试题大全和详解,含SQL例子