error: externally-managed-environment
当你执行 pip3 install ipykernel
时遇到 error: externally-managed-environment
错误,这是因为从 Python 3.11 开始,为了避免破坏系统级 Python 环境,引入了外部管理环境(externally - managed environment)的概念,直接使用 pip
在系统级 Python 环境中安装包会受到限制。下面为你介绍几种可行的解决办法:
方法一:使用系统包管理器安装
如果你想在系统范围内安装 Python 包,可以使用系统的包管理器(如 apt
,适用于基于 Debian 或 Ubuntu 的系统)。
sudo apt update
sudo apt install python3-ipykernel
这种方法的优点是安装的包与系统的 Python 环境集成良好,且能保证依赖的一致性;缺点是包的版本可能不是最新的,因为系统包管理器的更新速度可能较慢。
方法二:创建并使用虚拟环境
虚拟环境可以为项目创建一个独立的 Python 环境,避免与系统级 Python 环境相互影响。
步骤 1:创建虚拟环境
在终端中执行以下命令创建一个名为 myenv
的虚拟环境:
python3 -m venv myenv
步骤 2:激活虚拟环境
- 在 macOS 和 Linux 上:
source myenv/bin/activate
- 在 Windows 上:
myenv\Scripts\activate
激活虚拟环境后,终端提示符通常会显示虚拟环境的名称。
步骤 3:安装 ipykernel
在激活的虚拟环境中执行以下命令安装 ipykernel
:
pip install ipykernel
使用虚拟环境的好处是可以为不同的项目管理独立的依赖,避免版本冲突;缺点是需要为每个项目单独管理虚拟环境。
方法三:使用 pipx
安装
pipx
可以在隔离的环境中安装 Python 应用程序,同时提供全局可访问的命令。
步骤 1:安装 pipx
如果你还没有安装 pipx
,可以使用以下命令进行安装:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
步骤 2:使用 pipx
安装 ipykernel
pipx install ipykernel
使用 pipx
的优点是可以方便地安装和管理 Python 应用程序,同时保持系统环境的整洁;缺点是不适用于安装作为库使用的包。
方法四:使用 --break-system-packages
选项(不推荐)
如果你确定要在系统级 Python 环境中安装包,并且愿意承担破坏系统 Python 安装的风险,可以使用 --break-system-packages
选项:
pip3 install --break-system-packages ipykernel
这种方法不推荐使用,因为它可能会导致系统 Python 环境出现问题,影响系统的稳定性和正常运行。