解决 externally-managed-environment问题

问题描述

  • 在复现RESTler-fuzzer时,使用docker创建镜像时,其中的 RUN pip3 install requests applicationinsights安装依赖命令出错
  • 经查阅,在 Manjaro 22、Ubuntu 23.04、Fedora 38 等最新的linux发行版中运行pip install时,都通常会遇到:error: externally-managed-environment
    在这里插入图片描述

解决方法

一、直接去掉提示

sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk
  • 将对应的python下的EXTERNALLY-MANAGED文件重命名为EXTERNALLY-MANAGED.bk,意为禁用

二、使用pipx

# 安装 pipx
sudo apt install pipx

# 添加路径
pipx ensurepath

# 重启terminal

三、使用venv虚拟环境

目前尚未实操

### 解决 Python pip 安装时出现的 `externally-managed-environment` 错误 #### 使用虚拟环境解决问题 创建和激活虚拟环境可以有效规避此问题。这使得包被安装在一个隔离环境中,而不是影响系统的全局Python环境。 ```bash python3 -m venv myenv source myenv/bin/activate ``` 之后,在这个环境下使用pip安装所需的库不会触发该错误[^2]。 #### 修改系统设置以允许更改 对于希望直接修改现有行为而不依赖于额外工具的情况,可以在命令行中加入特定参数来绕过这种保护机制: ```bash pip install package_name --break-system-packages ``` 这种方式适用于那些确实需要更新或安装软件至受保护位置的情形[^4]。 #### 移动 EXTERNALLY-MANAGED 文件 另一种解决方案涉及物理上移除阻止操作的因素——即移动名为 `EXTERNALLY-MANAGED` 的文件到其他地方作为备份: ```bash sudo mv /usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/EXTERNALLY-MANAGED \ /usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/EXTERNALLY-MANAGED.bak ``` 请注意调整上述路径以匹配实际安装情况[^3]。 #### 更新环境变量配置 为了确保新安装的应用程序能够在终端中正常调用,建议向 `.bashrc` 或者 `.zshrc` 中添加如下语句以便永久性地扩展 `$PATH` 变量指向个人用户的本地二进制目录: ```bash export PATH=$PATH:"$HOME/.local/bin" ``` 完成编辑后需重新加载shell配置文件使改动生效[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值