温馨提示×

Ubuntu From Scratch如何安装Python

小樊
38
2025-12-16 13:29:23
栏目: 编程语言

Ubuntu From Scratch 安装 Python 实操指南

一 准备环境

  • 更新索引并安装基础工具与编译链:
    • sudo apt update && sudo apt upgrade -y
    • sudo apt install -y build-essential checkinstall wget curl git
  • 安装编译 Python 所需依赖库(按需精简,覆盖常见模块与 SSL/压缩/数据库等需求):
    • sudo apt install -y libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libgdbm-dev liblzma-dev libffi-dev uuid-dev libc6-dev
  • 说明:上述依赖用于确保 _ssl、bz2、readline、sqlite3、ffi、lzma、gdbm、ncurses、uuid 等标准库可用,避免后续 pip/第三方包编译失败。

二 从源码编译安装 Python

  • 选择版本并下载源码(示例以 Python 3.10.12 为例,亦可替换为 3.11.x 等稳定版本):
    • cd /usr/src
    • sudo wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
    • sudo tar xzf Python-3.10.12.tgz && cd Python-3.10.12
  • 配置构建(推荐启用优化并确保 pip 随装):
    • ./configure --enable-optimizations --with-ensurepip=install
    • 说明:–enable-optimizations 会进行 PGO/LTO 等优化,首次构建耗时更长;–with-ensurepip=install 确保安装时自带 pip。
  • 编译与安装(并行编译加速,使用 altinstall 避免覆盖系统 python3):
    • make -j $(nproc)
    • sudo make altinstall
    • 常见安装前缀为 /usr/local/bin,可执行文件通常为 python3.10pip3.10
  • 验证安装结果:
    • python3.10 --version
    • python3.10 -m pip --version
  • 提示:若磁盘空间或时间紧张,可去掉 --enable-optimizations 以显著缩短构建时间(运行时性能略降)。

三 设置默认版本与便捷使用

  • 使用 alternatives 切换系统默认 python3(推荐,安全可控):
    • sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 100
    • 如需在多个已装版本间切换:sudo update-alternatives --config python3
  • 直接使用版本化命令(最稳妥,避免替换系统默认解释器):
    • python3.10、pip3.10
  • 将 /usr/local/bin 加入 PATH(若不在默认 PATH 中):
    • echo ‘export PATH=/usr/local/bin:$PATH’ >> ~/.bashrc && source ~/.bashrc
  • 说明:在“From Scratch”最小化环境中,/usr/local/bin 可能未在 PATH 前列,显式加入可避免“command not found”。

四 创建虚拟环境与验证 pip

  • 安装并使用 venv 隔离项目依赖:
    • sudo apt install -y python3.10-venv
    • python3.10 -m venv ~/venvs/myapp
    • source ~/venvs/myapp/bin/activate
    • python -m pip install --upgrade pip
  • 在虚拟环境中验证:
    • python -V
    • pip -V
  • 退出虚拟环境:deactivate。

五 常见问题与排查要点

  • 缺少依赖导致配置/编译失败:
    • 典型缺失如 libffi-dev、libssl-dev、zlib1g-dev、libbz2-dev、libreadline-dev、libsqlite3-dev、liblzma-dev 等;按报错信息 apt 安装对应开发包后重新配置/编译。
  • 覆盖系统 Python 的风险:
    • 避免使用 make install,改用 make altinstall;如需设置默认 python3,优先用 update-alternatives 管理。
  • 构建时间过长:
    • 首次启用 --enable-optimizations 会显著增加构建时间;可临时去掉该选项以加快构建,后续按需再启用。
  • pip 不存在或版本异常:
    • 使用带 ensurepip 的配置(–with-ensurepip=install);或在已装解释器上执行 python3.10 -m ensurepip --upgrade。

0