Ubuntu/Debian Linux怎么通过apt安装Python和pip

Dylan
Dylan
发布时间:2026-11-07 | 5人浏览过
原创

介绍Ubuntu和Debian Linux中如何通过apt安装Python 3和pip,包括软件源更新、安装命令、版本验证、venv虚拟环境使用,以及externally-managed-environment等常见问题的处理方法。

在 Ubuntu 或 Debian 中,如果只是需要系统仓库提供的 Python 3 和 pip,最直接的方式就是使用 APT。通常执行 apt update 更新软件包索引,然后安装 python3 和 python3-pip 即可。如果后面还要使用 pip 安装项目依赖,建议同时安装 python3-venv,把第三方 Python 包放在虚拟环境中,而不是直接修改系统 Python。

一、先确认系统和当前 Python 状态

以下操作适用于使用 APT 包管理器的 Ubuntu、Debian 以及以它们为基础的常见发行版。命令需要在终端中执行。

先查看系统信息:

cat /etc/os-release

然后检查系统中是否已经存在 Python 3:

python3 --version

如果已经安装,会看到类似下面的结果。具体版本取决于当前 Ubuntu 或 Debian 版本,不需要和示例完全一致。

示例输出:
Python 3.x.x

再检查 pip:

python3 -m pip --version

如果提示没有名为 pip 的模块,或者 pip3 命令不存在,就继续使用 APT 安装。

Ubuntu 和 Debian 中的 python3 通常表示该发行版默认维护的 Python 3 版本,而不是保证安装 python.org 当前发布的最高版本。对于需要系统稳定性的软件,使用发行版仓库版本通常更合适。

二、更新APT软件包索引

安装前先更新本机的软件包索引:

sudo apt update

apt update 并不会升级系统中的所有软件,它主要重新获取软件源中的包列表,让 APT 知道当前仓库中有哪些版本可以安装。

如果当前已经是 root 用户,可以直接执行:

apt update
Ubuntu/Debian Linux怎么通过apt安装Python和pip
图1:通过 APT 安装 Python、pip 并进行验证的基本操作顺序。

三、通过apt安装Python、pip和venv

对于普通开发环境,可以一次安装这三个包:

sudo apt install -y python3 python3-pip python3-venv

这里三个包的作用不同:

  • python3:安装或确认系统默认的 Python 3 解释器。
  • python3-pip:安装 Python 3 对应的 pip 包管理工具。
  • python3-venv:提供创建 Python 虚拟环境所需的组件。

如果只想安装 Python 和 pip,也可以使用:

sudo apt install -y python3 python3-pip

但如果这台机器之后需要开发 Python 项目,建议把 python3-venv 一起安装,后面安装第三方依赖时会方便很多。

如果系统提示某个包已经是最新版本,不代表操作失败,只说明该软件包之前已经安装。

Ubuntu/Debian Linux怎么通过apt安装Python和pip
图2:APT、系统 Python 和项目虚拟环境之间的管理边界。

四、验证Python和pip是否安装成功

安装完成后,先检查 Python:

python3 --version

再检查 pip:

python3 -m pip --version

也可以尝试:

pip3 --version

相比直接写 pip3,平时更推荐使用:

python3 -m pip

这样可以明确表示“使用这个 Python 3 解释器对应的 pip”,在机器上同时存在多个 Python 环境时更容易判断实际使用的是哪个解释器。

还可以查看命令实际位置:

which python3
which pip3

系统安装的 Python 3 通常位于 /usr/bin/ 一类的系统目录中。实际路径应以当前机器输出为准。

五、不要急着用sudo pip安装第三方库

Python 和 pip 安装完成后,很多人下一步会直接执行:

sudo pip3 install requests

在现代 Ubuntu、Debian 环境中,这通常不是推荐做法。原因是系统 Python 本身由 APT 管理,而 pip 如果直接向系统环境写入、升级或删除 Python 包,可能与 APT 管理的软件产生冲突。

PEP 668 为发行版提供了 EXTERNALLY-MANAGED 机制,用于告诉 pip:当前 Python 基础环境由操作系统包管理器管理,默认不应该直接通过 pip 修改。:contentReference[oaicite:0]{index=0}

因此,新版系统上执行类似:

pip3 install requests

有时会看到:

示例报错:
error: externally-managed-environment

这并不意味着 pip 安装坏了,而是在阻止项目依赖直接修改发行版管理的系统 Python。

六、推荐做法:创建venv虚拟环境再使用pip

如果是开发 Python 项目,可以为每个项目建立单独的虚拟环境。例如准备一个测试目录:

mkdir -p ~/python-demo
cd ~/python-demo

创建名为 .venv 的虚拟环境:

python3 -m venv .venv

激活它:

source .venv/bin/activate

激活后,终端提示符前面通常会出现类似 (.venv) 的标记。也可以通过下面的命令确认:

which python
which pip

此时路径应该指向当前项目中的 .venv/bin/。

现在安装第三方包:

python -m pip install requests

验证:

python -c "import requests; print(requests.__version__)"

用完后退出虚拟环境:

deactivate

Python Packaging User Guide 同样推荐通过 python3 -m venv .venv 创建隔离环境,并在激活后使用 pip 安装项目依赖。:contentReference[oaicite:1]{index=1}

Ubuntu/Debian Linux怎么通过apt安装Python和pip
图3:使用 venv 隔离项目依赖,可以避免 pip 与系统 APT 管理的 Python 包互相影响。

七、常见问题怎么处理

1. 提示“Unable to locate package python3-pip”

先不要改用网上下载的安装脚本,先重新更新软件源:

sudo apt update

然后查询 APT 是否能够找到软件包:

apt-cache policy python3-pip

如果没有候选版本,需要检查 /etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 中的软件源是否与当前发行版匹配。

Ubuntu 的 python3-pip 软件包来自发行版仓库;例如 Ubuntu 官方软件包页面仍提供该包。Debian 官方软件包仓库同样提供 python3-pip。:contentReference[oaicite:2]{index=2}

2. python3存在,但pip不存在

这很正常。Python 解释器和 pip 在 Ubuntu/Debian 中可以作为不同的软件包维护。直接安装:

sudo apt install python3-pip

然后验证:

python3 -m pip --version

3. 创建venv时提示ensurepip不可用

如果执行:

python3 -m venv .venv

失败并提示与 ensurepip 或虚拟环境组件有关,通常应该先确认已经安装:

sudo apt install python3-venv

安装完成后重新创建:

rm -rf .venv
python3 -m venv .venv

4. 出现externally-managed-environment

如果系统级 pip 安装被拒绝,推荐的处理方法不是加 sudo,而是建立虚拟环境:

sudo apt install python3-venv

python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests

pip 存在可以覆盖保护机制的方式,例如部分环境支持 --break-system-packages,但这个参数的含义就是允许 pip 突破系统包管理边界。PEP 668 明确将这种方式设计为需要用户主动覆盖的行为,而不是默认安装路径。除非明确知道为什么必须修改系统 Python,否则不建议把它作为普通项目的解决方案。:contentReference[oaicite:3]{index=3}

5. 能不能执行apt install python3.12、python3.13之类的命令

要看当前 Ubuntu 或 Debian 版本的软件仓库是否提供对应包。不要因为某个教程使用了某个具体版本,就认为所有发行版都能直接安装。

如果只是需要系统默认 Python,使用:

sudo apt install python3

更稳妥。Debian 官方仓库中的 python3 包本身就是当前发行版默认 Python 3 版本的入口,不同 Debian 发行版对应的具体 Python 版本可能不同。:contentReference[oaicite:4]{index=4}

八、APT安装和pip安装不要混为一件事

APT 和 pip 都可以“安装东西”,但管理对象并不相同。

操作 主要作用 典型示例
APT 管理 Ubuntu/Debian 系统软件包 sudo apt install python3
APT 安装发行版维护的 pip sudo apt install python3-pip
APT 安装虚拟环境组件 sudo apt install python3-venv
pip 管理某个 Python 环境中的第三方 Python 包 python -m pip install requests

因此,一个比较清晰的管理方式是:操作系统需要的 Python 组件交给 APT,自己开发的 Python 项目使用 venv 建立隔离环境,再在环境内部用 pip 安装项目依赖。

九、完整安装命令整理

如果是在一台刚准备好的 Ubuntu/Debian 机器上配置常规 Python 开发环境,可以按下面的顺序执行:

sudo apt update

sudo apt install -y python3 python3-pip python3-venv

python3 --version
python3 -m pip --version

准备项目:

mkdir -p ~/python-demo
cd ~/python-demo

python3 -m venv .venv
source .venv/bin/activate

python --version
python -m pip --version

安装一个第三方库进行测试:

python -m pip install requests

python -c "import requests; print(requests.__version__)"

退出项目虚拟环境:

deactivate
Ubuntu/Debian Linux怎么通过apt安装Python和pip
图4:完成安装后,可以按照这四项逐一确认 Python 开发环境是否准备正确。

十、总结

Ubuntu 和 Debian 通过 APT 安装 Python 与 pip,本身并不复杂。最基本的命令就是:

sudo apt update
sudo apt install python3 python3-pip

如果这台机器还要进行 Python 项目开发,建议直接加上:

sudo apt install python3-venv

安装后使用 python3 --version 和 python3 -m pip --version 验证。真正安装项目第三方依赖时,再通过 python3 -m venv .venv 建立独立环境。

这样做的关键不是多执行了一条 venv 命令,而是把两类软件明确分开:Ubuntu/Debian 系统需要的 Python 组件继续交给 APT 管理,自己项目所需的 requests、Django、Flask 等第三方库则由项目虚拟环境中的 pip 管理。即使以后不同项目需要不同版本的依赖,也不会轻易影响操作系统自己的 Python 环境。

资料核对说明:Ubuntu 官方软件包资料确认 python3-pip 作为发行版软件包提供;Debian 官方软件包资料同样列出了 python3 与 python3-pip。Python Packaging User Guide 推荐第三方包使用虚拟环境,PEP 668 则定义了发行版 Python 的 externally managed 管理机制。:contentReference[oaicite:5]{index=5}

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表