This environment is externally managed

简介: 【10月更文挑战第28天】This environment is externally managed

sudo pip install -r requirements.txt
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.

您遇到的错误消息表明,您试图安装包的Python环境是由外部管理的,可能是由操作系统或另一个包管理器管理的。这在通过系统包管理器(如Debian系列系统的apt)管理Python包的环境中很常见。

以下是一些解决方法:

1. 使用虚拟环境

创建和使用虚拟环境是一种常见的管理Python包的方法,不会影响系统范围内的安装。下面是如何操作:

# 创建虚拟环境
python3 -m venv myenv

# 激活虚拟环境
source myenv/bin/activate

# 现在安装依赖项
pip install -r requirements.txt

2. 通过 apt 安装系统包

如果您需要的包在系统仓库中可用,您可以使用 apt 安装它们。例如:

sudo apt update
sudo apt install python3-pip

然后您可以使用 pip 安装所需的包:

pip install -r requirements.txt

3. 使用 pipx 安装非Debian打包的应用程序

如果您需要安装非Debian打包的Python应用程序,可以使用 pipx。首先,如果您还没有安装 pipx,请先安装:

sudo apt install pipx
python3 -m pipx ensurepath

然后使用 pipx 安装包:

pipx install <package_name>

4. 覆盖错误(不推荐)

如果您认为这个错误是不正确的,并且您仍然希望继续,可以通过传递 --break-system-packages 标志来覆盖它。然而,这样做可能会破坏您的Python安装或操作系统,因此不推荐。

sudo pip install -r requirements.txt --break-system-packages

总结

使用虚拟环境通常是最安全和最灵活的方法。它允许您管理依赖项,而不影响系统范围的Python安装。如果您有特定的需求需要系统范围的安装,可以考虑使用 aptpipx

目录
相关文章
|
8月前
|
jenkins 持续交付 算法框架/工具
environment与options
environment与options
54 7
|
8月前
|
Java Maven
The JAVA_HOME environment variable is not defined correctly,this environment variable is needed to
The JAVA_HOME environment variable is not defined correctly,this environment variable is needed to
|
10月前
error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
235 0
|
10月前
|
容器
ADDM in a Multitenant Environment
ADDM in a Multitenant Environment
44 0
|
Java 应用服务中间件
Tomcat出现the jre_home environment variable is not defined correctly this environment variable is need
今天运行Tomcat点击startup.bat cmd直接一闪而过,直接闪退了,很难受,原因是前几天手贱不小心把环境全删了,好难受,只能重新安装了,现在官网下载jdk,我的是jdk-17.0.2,路径是`D:\javase\jdk-17.0.2` 记住这个路径(很重要),然后在环境变量里设置,在用户变量里添加JAVA_HOME与JRE_HOME把我们刚刚的路径复制进去。在系统变量里面的PATH新建的添加%JAVA_HOME%\bin 与%JRE_HOME%\bin 点击确定。环境配置好了。
736 0
Tomcat出现the jre_home environment variable is not defined correctly this environment variable is need
|
关系型数据库 MySQL 数据库
gitlab--services、environment、inherit
gitlab--services、environment、inherit
|
Kubernetes 安全 API
Kubernetes CKS【23】---Runtime Security - Auditing
Kubernetes CKS【23】---Runtime Security - Auditing
Kubernetes CKS【23】---Runtime Security - Auditing
|
Kubernetes Cloud Native 安全
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
|
Kubernetes 应用服务中间件 API
|
JavaScript 前端开发