Ubuntu系统安装Python的几种常用方法详解
Ubuntu安装Python的常用方法
在Ubuntu上安装Python,方法其实不少,各有各的适用场景。常见的路子包括:直接用系统自带的APT包管理器、通过deadsnakes PPA获取更多版本、从源码手动编译、用pyenv进行多版本管理,以及使用Anaconda或Miniconda这种为数据科学量身打造的一站式方案。下面,咱们就来详细聊聊每种方法的适用场景和关键步骤,帮你找到最适合自己的那条路。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
方法对比
| 方法 | 适用场景 | 核心命令或要点 | 版本可控性 | 隔离与依赖 | 备注 |
|---|---|---|---|---|---|
| APT | 追求稳定、想快速安装系统仓库里现成的版本 | sudo apt update && sudo apt install python3 python3-pip | 中(版本随仓库更新) | 中 | 最省心,推荐给大多数入门和日常开发用户 |
| deadsnakes PPA | 需要官方仓库里没有的特定小版本,比如最新的3.11或3.12 | 添加PPA后,执行 apt install python3.x | 中-高 | 中 | 适合那些对Python版本有精确要求的项目 |
| 源码编译 | 需要自定义编译选项,或者追求最新/极旧的版本 | ./configure --enable-optimizations && make -jN && sudo make altinstall | 高 | 中-高 | 务必使用altinstall,这是避免覆盖系统默认python3的关键 |
| pyenv | 需要在同一台机器上管理多个Python版本,并能按项目灵活切换 | curl https://pyenv.run | bash;然后 pyenv install 3.x.x | 高 | 高 | 版本管理利器,强烈建议配合pyenv-virtualenv来管理虚拟环境 |
| Anaconda/Miniconda | 专注于数据科学、机器学习,需要开箱即用的环境和丰富的科学计算包 | bash Anaconda3-*.sh;然后 conda create -n env python=3.x | 高 | 高 | 自带强大的包与环境管理,隔离性非常好,但体积相对较大 |
关键步骤速览
-
APT安装(最推荐)
- 更新软件包索引:
sudo apt update - 安装Python3和pip:
sudo apt install python3 python3-pip - 验证安装:
python3 --version、pip3 --version
一句话点评:这是最适合大多数用户的方法,依赖自动解决,与系统兼容性最佳,几乎不会出岔子。
- 更新软件包索引:
-
使用deadsnakes PPA安装特定版本
- 启用Universe仓库:
sudo add-apt-repository universe - 安装管理PPA的工具:
sudo apt install software-properties-common - 添加deadsnakes PPA:
sudo add-apt-repository ppa:deadsnakes/ppa - 安装特定版本(如3.10):
sudo apt install python3.10 python3.10-dev - 验证:
python3.10 --version
一句话点评:当你需要像3.10、3.11这类在默认仓库里找不到的特定版本时,它就是救星。
- 启用Universe仓库:
-
从源码编译安装
- 安装构建依赖:
sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libffi-dev liblzma-dev wget - 下载源码包:
wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz - 解压并编译:
tar -xf Python-3.x.x.tgz && cd Python-3.x.x && ./configure --enable-optimizations && make -j$(nproc) - 安装(关键步骤):
sudo make altinstall(务必用altinstall,防止覆盖系统默认python3) - 验证:
python3.x --version
一句话点评:自由度最高,可以定制各种编译选项,但步骤稍繁琐,更适合高级用户或特定需求。
- 安装构建依赖:
-
使用pyenv管理多版本
- 安装系统依赖(示例):
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git - 安装pyenv:
curl https://pyenv.run | bash - 配置Shell环境:将以下内容添加到
~/.bashrc或~/.zshrc,然后执行source ~/.bashrcexport PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
- 安装与切换版本:
pyenv install 3.10.0;pyenv global 3.10.0(全局设置)或pyenv local 3.10.0(项目目录内设置) - 验证:
python --version
一句话点评:实现多版本Python和平共处、随意切换的终极武器,配合虚拟环境插件使用体验更佳。
- 安装系统依赖(示例):
-
使用Anaconda/Miniconda
- 下载安装脚本并运行:
bash Anaconda3-*.sh,然后跟着提示完成安装和shell初始化。 - 创建独立环境:
conda create -n myenv python=3.9 - 激活环境:
conda activate myenv - 验证:
python --version、conda --version
一句话点评:数据科学领域的“全家桶”,环境隔离彻底,预装了海量科学计算库,省去了大量配置依赖的麻烦。
- 下载安装脚本并运行:
安装后的配置与建议
- 升级pip并验证:安装后,首先运行
python3 -m pip install --upgrade pip来升级pip到最新版,然后用pip3 --version确认。 - 使用venv创建虚拟环境:如果系统没装,先
sudo apt install python3-venv。创建环境只需:python3 -m venv .venv && source .venv/bin/activate。 - 处理多版本与默认版本:系统级默认版本可以用
update-alternatives命令管理。但更优雅的做法是,直接使用pyenv或conda在项目级别进行隔离和指定。 - 常见问题速解:
- 依赖缺失:源码编译前,务必把
libssl-dev、libffi-dev、zlib1g-dev这些开发库装全。 - 覆盖系统Python:源码安装时,记住
make altinstall这个“安全口令”,它能保你系统无恙。 - 命令未找到:安装后如果输入命令没反应,检查一下PATH环境变量,看看是否包含了新安装的路径(比如
~/.pyenv/shims或者Anaconda的bin目录)。
- 依赖缺失:源码编译前,务必把
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Java输出方法详解:控制台日志与文件写入全解析
排查问题或了解运行环境时,使用System getProperty()方法可快速获取JVM和操作系统的关键信息。代码能输出Java版本、安装目录、类路径、操作系统详情及文件分隔符等属性。这些信息有助于排查类路径问题、判断环境兼容性、构建跨平台路径,并为日志调试提供重要上下文,是诊断环境问题的实用工具。
Ubuntu系统下使用Go语言实现机器学习的实践指南
在Ubuntu上使用Go进行机器学习需先安装环境并配置工作空间,通过goget获取golearn等库。编写代码遵循数据加载、模型训练、预测评估的流程后运行程序。Go在性能与并发方面有优势,但生态不如Python丰富,更适合特定工程场景或统一技术栈的团队探索。
Ubuntu系统下Go语言程序打包方法与核心要点
在Ubuntu中打包Go应用需关注环境配置、交叉编译与优化。通过GoModules管理依赖,使用CGO_ENABLED=0生成静态二进制文件以实现跨平台兼容。利用UPX和链接器参数减小体积,采用Docker多阶段构建制作最小镜像。交付时建议包含平台信息并签名,注意解决动态库依赖和版本锁定等常见问题。
Android开发中高效管理多个CheckBox组件的实用技巧
在Android应用开发过程中,高效管理多个功能相似的复选框(CheckBox)是提升开发效率的关键。无论是应用设置界面、多选列表,还是动态生成的选项列表,如果对每个CheckBox都进行单独引用和操作,代码会迅速变得冗长且难以维护。那么,是否存在更优雅的解决方案?答案是肯定的——通过数组或动态集合
面向对象编程中封装字段如何提升代码安全性与维护性
将类的公共字段改为私有,并提供公共的获取和设置方法,是提升代码安全性与可控性的基础重构。此举能防止外部随意读写,避免状态失控,并便于后续加入校验、脱敏等控制逻辑,适用于核心业务或敏感字段。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

