error: externally-managed-environment 的解决方法

一 问题描述

在Linux操作系统中,通过终端的命令pip install package-namepip3 install package-name来下载python第三方库可能会出现以下报错:

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.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual 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.

二 解决方法

仔细阅读报错信息,会发现

× 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.

中强调尝试用apt install python3-xyz命令安装python第三方库.
于是,解决方法为:

pip3 install package-name

–>>转变为

sudo apt-get install python3-package-name

重要提示:一些python版本默认集成的第三方库可能没有被Linux环境下的python版本集成,而且这个没有被默认集成的第三方库的名称可能与标准的第三方库的名称不同,如tkinter库,它在Windows环境下的python版本默认集成,但在Linux环境下通常没有被默认集成,而需要通过sudo apt-get install python3-tk命令来下载,而不是通过sudo apt-get install python3-tkinter命令来下载

三 示例

如果我要安装pandas库,若使用pip命令:

pip3 install pandas

会出现报错:

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.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual 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.

若使用apt命令:

sudo apt-get install python3-pandas

则会出现以下成功提示:(省略部分输出)

正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列软件包是自动安装的并且现在不需要了:
  hplip-data libhpmud0 libsane-hpaio printer-driver-hpcups
  printer-driver-postscript-hp python3-pexpect python3-ptyprocess
  python3-software-properties ubuntu-advantage-desktop-daemon
  unattended-upgrades
使用'sudo apt autoremove'来卸载它(它们)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值