游乐游手机版
首页/编程语言/文章详情

Ubuntu系统安装Python的几种常用方法详解

时间:2026-05-07 09:55
Ubuntu安装Python的常用方法 在Ubuntu上安装Python,方法其实不少,各有各的适用场景。常见的路子包括:直接用系统自带的APT包管理器、通过deadsnakes PPA获取更多版本、从源码手动编译、用pyenv进行多版本管理,以及使用Anaconda或Miniconda这种为数据科

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安装(最推荐)

    1. 更新软件包索引:sudo apt update
    2. 安装Python3和pip:sudo apt install python3 python3-pip
    3. 验证安装:python3 --versionpip3 --version

    一句话点评:这是最适合大多数用户的方法,依赖自动解决,与系统兼容性最佳,几乎不会出岔子。

  • 使用deadsnakes PPA安装特定版本

    1. 启用Universe仓库:sudo add-apt-repository universe
    2. 安装管理PPA的工具:sudo apt install software-properties-common
    3. 添加deadsnakes PPA:sudo add-apt-repository ppa:deadsnakes/ppa
    4. 安装特定版本(如3.10):sudo apt install python3.10 python3.10-dev
    5. 验证:python3.10 --version

    一句话点评:当你需要像3.10、3.11这类在默认仓库里找不到的特定版本时,它就是救星。

  • 从源码编译安装

    1. 安装构建依赖:sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libffi-dev liblzma-dev wget
    2. 下载源码包:wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
    3. 解压并编译:tar -xf Python-3.x.x.tgz && cd Python-3.x.x && ./configure --enable-optimizations && make -j$(nproc)
    4. 安装(关键步骤):sudo make altinstall务必用altinstall,防止覆盖系统默认python3
    5. 验证:python3.x --version

    一句话点评:自由度最高,可以定制各种编译选项,但步骤稍繁琐,更适合高级用户或特定需求。

  • 使用pyenv管理多版本

    1. 安装系统依赖(示例):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
    2. 安装pyenv:curl https://pyenv.run | bash
    3. 配置Shell环境:将以下内容添加到~/.bashrc~/.zshrc,然后执行source ~/.bashrc
      export PATH="$HOME/.pyenv/bin:$PATH"
      eval "$(pyenv init --path)"
      eval "$(pyenv init -)"
      eval "$(pyenv virtualenv-init -)"
      
    4. 安装与切换版本:pyenv install 3.10.0pyenv global 3.10.0(全局设置)或 pyenv local 3.10.0(项目目录内设置)
    5. 验证:python --version

    一句话点评:实现多版本Python和平共处、随意切换的终极武器,配合虚拟环境插件使用体验更佳。

  • 使用Anaconda/Miniconda

    1. 下载安装脚本并运行:bash Anaconda3-*.sh,然后跟着提示完成安装和shell初始化。
    2. 创建独立环境:conda create -n myenv python=3.9
    3. 激活环境:conda activate myenv
    4. 验证:python --versionconda --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-devlibffi-devzlib1g-dev这些开发库装全。
    • 覆盖系统Python:源码安装时,记住make altinstall这个“安全口令”,它能保你系统无恙。
    • 命令未找到:安装后如果输入命令没反应,检查一下PATH环境变量,看看是否包含了新安装的路径(比如~/.pyenv/shims或者Anaconda的bin目录)。
来源:https://www.yisu.com/ask/37937431.html
上一篇Ubuntu系统Python图形界面开发入门教程 下一篇Ubuntu系统下Python程序高效调试方法详解
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
如何在ThinkPHP中实现定时任务与命令行调度方法
编程语言 · 2026-07-04

如何在ThinkPHP中实现定时任务与命令行调度方法

用ThinkPHP实现定时任务时,很多开发者第一步就卡在命令行报错上,直接输入php think your:command却无法识别——这种情况绝大多数是因为命令类的注册方式存在问题。下面先梳理几个核心要点。 ThinkPHP 6 中 think 命令如何正确触发自定义指令 直接运行 php thi

ThinkPHP API接口防重放攻击实现方法
编程语言 · 2026-07-04

ThinkPHP API接口防重放攻击实现方法

先说几个核心判断:API防重放攻击这件事,做对了是道防火墙,做错了就是个心理安慰。很多开发者到踩坑了才明白——验签这东西,放错位置、漏掉字段、存错nonce,每一环都能让整个安全体系直接归零。 验签必须放在中间件里,不能在控制器里写 ThinkPHP 的请求生命周期中,中间件是唯一能在路由匹配、参数

ThinkPHP文件上传必须验证扩展名安全必要性分析
编程语言 · 2026-07-04

ThinkPHP文件上传必须验证扩展名安全必要性分析

在使用ThinkPHP进行文件上传时,ext扩展名验证通常是开发者首先接触的关键环节。但你真的了解它的实际工作原理吗?它仅比对文件名后缀,而不读取文件内容,甚至对空格和大小写都极其敏感。更为重要的是——它是TP文件上传验证五层防线中不可忽视的第一道关卡,一旦配置遗漏,整个validate验证链将直接

ThinkPHP关联模型自动写入与更新使用教程
编程语言 · 2026-07-04

ThinkPHP关联模型自动写入与更新使用教程

需要明确的是,ThinkPHP关联模型并没有提供所谓的“自动写入 更新”魔法开关。所谓的“自动”功能,实际上都需要开发者手动编写配置逻辑才能生效。核心原则在于:主模型和从模型必须分开独立处理,时间戳字段和业务字段需依靠修改器或钩子接管;批量操作则要规规矩矩地绕过模型逻辑来执行——只有理解透彻这些要点

BoxLayout中仅居中一个组件其他默认左对齐
编程语言 · 2026-07-04

BoxLayout中仅居中一个组件其他默认左对齐

在 Java Swing 中使用 BoxLayout 的 Y_AXIS 方向布局时,很多初学者容易掉进一个常见陷阱:希望将某个组件单独设置为中心对齐,但当调用 `setAlignmentX(CENTER_ALIGNMENT)` 后,却发现其他组件也跟着发生了偏移,完全达不到预期效果。实际上,关键之处