如何修复Linux上的pip “externally—managed—environment”错误
如果您经常使用Python,最近又改用Ubuntu 23.04或Fedora版本38,那么在使用Python包管理器pip安装包时,很可能会遇到“外部管理环境”错误。
这可能是令人沮丧和相当令人惊讶的,因为这个错误永远不会出现在旧版本的Ubuntu,Fedora和其他发行版中。让我们来了解到底是什么导致了这个错误,以及如何快速修复它。
为什么会出现“外部管理的环境”错误
所有Linux发行版的最新版本都采用了PEP-668中定义的标准。这些更改确保了默认情况下不会在全局环境中安装PIP包。
这是为了避免发行版的包管理器和Python包管理工具之间的冲突而实现的。您可以在PEP-668官方文档中了解详细信息。如果您希望恢复或覆盖此机制,您可以采取三种方法。
1.删除”外部保护”文件
这是对pip “externaly—managed”错误的最简单的修复。您所要做的就是导航到/usr/lib/python3.xx,并删除目录中的EXTERNALLY—EXCEED文件。以下是这样做的命令:
cd/usr/lib/python3.11sudo rm外部环境
这就是修复错误所需做的全部工作。如果您选择恢复此机制,请使用触摸命令再次创建相同的文件:
sudo touch户外
现在,您应该可以使用pip或pip3无缝地安装软件包了。
2.使用虚拟环境安装pip包
您可以采取的另一种方法是为Python项目使用虚拟环境。虚拟环境是将程序特定包与操作系统隔离的一种很好的方式,还允许您整齐地组织项目。
以下是如何使用pip创建虚拟环境和安装包:
python3—m venv venv
source venv/bin/activate
您的shell提示符应该用虚拟环境名称更新。现在,您可以安装任何您想要的Python包。
正如你所看到的,openai Python包一开始无法安装,但在创建并切换到虚拟环境后,它被无障碍地安装。
3.使用pipx安装Python软件包
pipx是一个用于在虚拟和隔离环境中安装Python包的实用程序。它可以自动执行一些步骤,例如为每个包创建虚拟环境,并在. local/bin文件夹中创建指向包的符号链接,这样你就可以随时从shell调用每个包。
使用PIPEX安装包可以帮助您避免在虚拟环境中安装包时出现“外部管理的环境”错误。要使用PIPEX,首先使用您的发行版的默认包管理器安装它。
关于Ubuntu/Debian衍生品:
sudo apt—get install pipx
关于Arch—based系统:
sudo pacman—S pipx
在Fedora/CentOS/RHEL上:
sudo dnf install pipx
一旦安装了pipx,就像使用pip安装软件包一样使用它。下面是一个示例命令:
pipx install openai
要了解更多关于pipx的信息,可以使用man命令参考它的手册页。
现在你知道如何修复”外部管理”错误
修复了“externaly—managed—environment”错误后,您应该能够继续处理您的项目或练习一般的Python编程。如果你专注于后者,你可能想看看学习编程的不同游戏化方式,这些方式将帮助你以亲身实践和有益的方式更快地学习Python或任何语言。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...