pip install报错This environment is externally managed的解决方法

 更新时间:2025年12月25日 08:56:21   作者:饕餮争锋  
这篇文章主要为大家详细介绍了Python中pip install报错This environment is externally managed的相关解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

1. 问题描述

在按照 ms-agent 教程安装 ms-agent 时,运行下述命令后报错

cd ms-agent 

pip3 install -e .

#  该安装命令解释:
#  pip install:使用 pip 安装 Python 包。
#  -e:表示 “editable”(可编辑)模式。也称为“开发模式”(development mode)。
#  .:代表当前目录(即你运行命令时所在的目录)。

报错内容如下:

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a Python library that isn't in Homebrew,
    use a virtual environment:
    
    python3 -m venv path/to/venv
    source path/to/venv/bin/activate
    python3 -m pip install xyz
    
    If you wish to install a Python application that isn't in Homebrew,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. You can install pipx with
    
    brew install pipx
    
    You may restore the old behavior of pip by passing
    the '--break-system-packages' flag to pip, or by adding
    'break-system-packages = true' to your pip.conf file. The latter
    will permanently disable this error.
    
    If you disable this error, we STRONGLY recommend that you additionally
    pass the '--user' flag to pip, or set 'user = true' in your pip.conf
    file. Failure to do this can result in a broken Homebrew installation.
    
    Read more about this behavior here: <https://peps.python.org/pep-0668/>

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.

2.报错分析

这是 PEP 668 的限制:现在用的 python3/pip3 是来自 Homebrew,它把系统 Python 环境标记为“externally managed”,禁止用 pip install 往这个全局环境里装包(避免把 Homebrew 的 Python 环境弄坏)。

最推荐的解决方式是:用虚拟环境 来安装(尤其这里是 pip install -e .,更应该用 venv)。

3. 创建虚拟环境再安装

3.1 在项目里建 venv 再install

# 进入项目
cd ms-agent

# 1) 创建虚拟环境
python3 -m venv .venv

# 2) 激活虚拟环境
source .venv/bin/activate

# 3) 升级 venv 里的 pip(可选但建议)
python -m pip install -U pip

# 4) editable 安装
python -m pip install -e .

在项目的 .venv 目录里,可以看到新创建的虚拟环境信息:

3.2 验证venv是否成功

# 进入项目
cd ms-agent

# 激活虚拟环境
source .venv/bin/activate

# 查看虚拟环境的python位置
which python

# 查看虚拟环境里的 pip 版本
python -m pip -V

# 输出里应包含 .../ms-agent/.venv/...,而不是系统环境 /opt/homebrew/...

3.3 每次打开终端先激活虚拟环境

# 进入项目
cd ms-agent

# 激活虚拟环境
source .venv/bin/activate

到此这篇关于pip install报错This environment is externally managed的解决方法的文章就介绍到这了,更多相关pip install报错解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python编程快速上手——选择性拷贝操作案例分析

    Python编程快速上手——选择性拷贝操作案例分析

    这篇文章主要介绍了Python选择性拷贝操作,结合具体实例形式分析了Python文件遍历、查找、复制拷贝等相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Python使用Paramiko模块编写脚本进行远程服务器操作

    Python使用Paramiko模块编写脚本进行远程服务器操作

    这篇文章主要介绍了Python使用Paramiko模块编写脚本进行远程服务器操作的实例,通过Paramiko能够方便地使用SSH服务,需要的朋友可以参考下
    2016-05-05
  • 深入解析Python中函数的参数与作用域

    深入解析Python中函数的参数与作用域

    这篇文章主要介绍了Python中函数的参数与作用域,是Python入门学习中的基础知识,需要的朋友可以参考下
    2016-03-03
  • Django实现WebSSH操作物理机或虚拟机的方法

    Django实现WebSSH操作物理机或虚拟机的方法

    这篇文章主要介绍了Django实现WebSSH操作物理机或虚拟机的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • python3 中时间戳、时间、日期的转换和加减操作

    python3 中时间戳、时间、日期的转换和加减操作

    这篇文章主要介绍了python3 中时间戳、时间、日期的转换和加减操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 使用Python设置Word文档中表格的格式的方法

    使用Python设置Word文档中表格的格式的方法

    本文介绍了使用PyQt5和python-docx库开发的图形化应用程序,用于对Word文档中的表格进行格式化设置,该应用程序提供文件操作、基本格式设置、条件格式设置、边框和背景设置等功能,支持跨平台运行,并提供详细的错误处理和用户反馈,需要的朋友可以参考下
    2025-12-12
  • Python实现将PowerPoint转为HTML格式

    Python实现将PowerPoint转为HTML格式

    有时我们需要将精心设计的PPT发布到网络上以便于更广泛的访问和分享,本文将介绍如何使用Python将PowerPoint转换为HTML格式,需要的可以参考下
    2024-04-04
  • 使用Python写一个量化股票提醒系统

    使用Python写一个量化股票提醒系统

    这篇文章主要介绍了小白用Python写了一个股票提醒系统,迷你版量化系统,完美的实现了实时提醒功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Python读取pdf文件的简单代码示例

    Python读取pdf文件的简单代码示例

    PDF文件的数据主要是文本、图片、表格,这三部分组成,但是也会穿插流程图、各种柱状图等,这篇文章主要给大家介绍了关于Python读取pdf文件的简单代码示例,需要的朋友可以参考下
    2024-02-02
  • Python中的Numpy 面向数组编程常见操作

    Python中的Numpy 面向数组编程常见操作

    这篇文章主要介绍了Python中的Numpy 面向数组编程常见操作,使用Numpy数组可以使你利用简单的数组表达式完成多项数据操作任务,而不需要编写大量的循环,这个极大的帮助了我们高效的解决问题
    2022-07-07

最新评论