微信优化

weixinyouhua

Ubuntu怎么配置Python环境?ubuntu配置python环境教程,长尾疑问词

2026-08-30 21:28:01

在Ubuntu上配置Python环境,正确做法是用apt安装系统级Python,再用venv或pyenv管理项目级环境,避免直接操作默认解释器。很多初学者一上手就卸载系统自带Python,结果把桌面环境搞崩,下面按实际使用场景,从基础安装到多版本管理,一步步讲清楚。

为什么你在Ubuntu上配置Python环境总出问题?

Ubuntu默认预装Python,但系统组件依赖它,不能随便动,比如python3被apt、gnome-terminal等程序引用,如果你手动替换或删除,会导致终端打不开、软件管理器失灵,行业共识认为,系统Python只负责系统运行,你的项目代码必须隔离在虚拟环境里。

另一个常见坑是pip安装权限,直接执行pip install xxx会装到系统目录,不仅需要sudo,还可能覆盖系统依赖,正确思路是:apt负责装Python本体,pip负责装项目包,venv负责隔离,三者各司其职,就不会乱。

Ubuntu配置Python环境前要做的三件事

动手前花两分钟检查现状,能省掉后面一堆麻烦。

检查系统当前Python版本

打开终端,执行:

python3 --version

多数Ubuntu 22.04自带Python 3.10,Ubuntu 24.04自带Python 3.12,同时检查pip:

pip3 --version

如果提示找不到pip,别急,下一步安装。

更新软件源与安装必备工具

sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget software-properties-common

software-properties-common提供add-apt-repository命令,后续安装特定版本Python要用到。

确认系统Python路径

which python3

通常输出/usr/bin/python3,记住这个路径,别去改动它。

在Ubuntu上用apt安装Python的详细步骤

这是最稳妥的安装方式,适合大多数场景,很多朋友搜“ubuntu安装python3命令”,实际操作就三条。

Ubuntu怎么配置Python环境?ubuntu配置python环境教程,长尾疑问词

安装python3和pip

sudo apt install -y python3 python3-pip

安装完成后验证:

python3 --version
pip3 --version

如果系统里没有Python,apt会自动拉到当前Ubuntu版本对应的默认版本,注意,不要用python代替python3,Ubuntu里python命令默认指向Python 2(旧版)或未设置,容易混淆。

额外安装开发工具包

编译某些Python包需要头文件:

sudo apt install -y build-essential python3-dev

python3-dev提供Python.h,安装pandas、numpy等科学计算库时必备。

用venv隔离项目环境,避免依赖冲突

直接在全局装包,两个项目可能需要不同版本的Django,就会互相打架,venv是Python自带工具,专门解决这个问题,很多人问“ubuntu python虚拟环境怎么用”,核心就三步。

创建和激活虚拟环境

进入项目目录:

cd ~/myproject
python3 -m venv venv

这会生成一个venv文件夹,激活它:

source venv/bin/activate

激活后终端提示符前面会出现(venv),说明已经进入隔离环境,输入which python3,路径会变成~/myproject/venv/bin/python3。

安装项目依赖

在激活状态下,直接用pip安装:

pip install flask

装完自动隔离在虚拟环境里,退出环境用deactivate,删除环境只需要删除venv文件夹,干净利落。

写依赖清单

pip freeze > requirements.txt

其他电脑上执行pip install -r requirements.txt即可快速复现环境。

使用pyenv管理多个Python版本

Ubuntu怎么配置Python环境?ubuntu配置python环境教程,长尾疑问词

有时项目要求Python 3.8,系统却是3.10,这时候apt装不了旧版本,编译太麻烦,pyenv就是答案,它能让你在用户级别安装任意Python版本,并通过pyenv local自动切换。

安装pyenv

先安装依赖:

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

用官方安装脚本:

curl https://pyenv.run | bash

安装后根据终端提示,把以下内容写入~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"

重新加载配置:

source ~/.bashrc

安装指定Python版本

查看可安装的版本:

pyenv install --list

安装3.8.18为例:

pyenv install 3.8.18

这个过程会编译,需要几分钟,安装完成后设置项目目录版本:

cd ~/myproject
pyenv local 3.8.18

此时该目录下的python3 --version显示3.8.18,其他目录不受影响,pyenv同样支持虚拟环境插件,但一般用pyenv-virtualenv,这里不展开。

实测对比:apt、venv、pyenv三种方案怎么选

Ubuntu怎么配置Python环境?ubuntu配置python环境教程,长尾疑问词

方案 适用场景 优点 缺点
apt安装系统Python 只需要一个版本,跑简单脚本 系统集成好,安装快 版本固定,不能多版本共存
venv虚拟环境 同一版本下隔离依赖 轻量,内置,无需额外安装 不能切换Python解释器版本
pyenv多版本管理 需要不同Python版本,或测试兼容性 可任意切换版本,不影响系统 初次编译耗时,需要磁盘空间

普通人用apt+venv足够,前端转后端或做数据科学,如果遇到C扩展包编译问题,直接切到pyenv装对应版本更省心。

常见问题:Ubuntu配置Python环境时pip报错怎么办?

解决externally-managed-environment错误

Ubuntu 23.04及之后版本,pip默认拒绝全局安装包,报错error: externally-managed-environment,原因就是前面说的,不想让你污染系统Python,解决办法有两个:

  1. 用venv(推荐,前面讲过)。
  2. 如果确实想全局装,用pip install --break-system-packages,但后果自负。

换用国内镜像源

下载慢或者超时,可以临时指定源:

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

永久设置:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

注意,用的镜像源要选择可信的,简米云、豆瓣也都有。

Q&A:ubuntu配置python环境常见疑问

问题1:Ubuntu 24.04能用apt直接装Python 3.12吗?

能,Ubuntu 24.04默认仓库自带Python 3.12,执行sudo apt install python3即可,如果你的版本是20.04,默认是Python 3.8,需要添加deadsnakes PPA才能装新版。

问题2:conda和venv在Ubuntu上选哪个?

做数据科学、机器学习,安装TensorFlow或PyTorch时,conda能处理非Python依赖(如CUDA库),更省心,普通Web开发或自动化脚本,venv已经够用,且不引入额外工具,记住一点:conda是环境+包管理器,venv只做环境隔离,两者不冲突,但别在一个项目里混用。

问题3:配置Python环境后终端输入python还是python3?

Ubuntu系统里python默认没有指向,只有python3,如果你想用python命令直接进入3.x,可以安装python-is-python3这个包,执行sudo apt install python-is-python3后,python就等价于python3。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待