Ubuntu/Debian Linux怎么通过apt安装Python和pip
介绍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 安装。
python3 通常表示该发行版默认维护的 Python 3 版本,而不是保证安装 python.org 当前发布的最高版本。对于需要系统稳定性的软件,使用发行版仓库版本通常更合适。
二、更新APT软件包索引
安装前先更新本机的软件包索引:
sudo apt update
apt update 并不会升级系统中的所有软件,它主要重新获取软件源中的包列表,让 APT 知道当前仓库中有哪些版本可以安装。
如果当前已经是 root 用户,可以直接执行:
apt update
三、通过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 一起安装,后面安装第三方依赖时会方便很多。
如果系统提示某个包已经是最新版本,不代表操作失败,只说明该软件包之前已经安装。
四、验证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}
七、常见问题怎么处理
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 通过 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}
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













