杰瑞科技汇

Python2与Python3如何共存安装?

pippython 命名的冲突

这是同时安装两个版本时最核心的问题,系统环境变量 PATH 中的可执行文件名必须是唯一的,如果两个版本的 Python 都试图安装名为 pythonpip 的命令,就会导致冲突。

Python2与Python3如何共存安装?-图1
(图片来源网络,侵删)

最佳解决方案:使用 pythonXpipX 的形式来区分不同版本,X 是主版本号(如 23)。


官方安装器 (推荐用于 macOS 和 Windows)

这是最简单、最不容易出错的方法,因为它会自动处理好命令行的命名问题。

在 Windows 上

  1. 下载安装程序

  2. 安装 Python 3

    Python2与Python3如何共存安装?-图2
    (图片来源网络,侵删)
    • 运行 Python 3 的安装程序。
    • 关键步骤:在安装界面的第一个页面,务必勾选 "Add Python 3.x to PATH",这会将 py 命令和 python3pip3 等命令添加到系统路径中。
    • 完成安装。
  3. 安装 Python 2

    • 运行 Python 2 的安装程序。
    • 关键步骤:同样地,在安装界面的第一个页面,务必勾选 "Add Python 2.7 to PATH",这会将 pythonpip 命令(指向 Python 2)添加到系统路径中。
    • 完成安装。
  4. 验证安装

    • 打开新的命令提示符 或 PowerShell。
    • 检查 Python 2:
      python --version
      # 应该输出 Python 2.7.x
      pip --version
      # 应该显示 pip 20.x... from ...\python27\...
    • 检查 Python 3:
      python3 --version
      # 应该输出 Python 3.x.x
      pip3 --version
      # 应该显示 pip 23.x... from ...\python3x\...
    • 你还可以使用 py 命令来选择版本:
      py -2 --version  # 运行 Python 2
      py -3 --version  # 运行 Python 3

在 macOS 上

  1. 下载安装程序

  2. 安装 Python 3

    Python2与Python3如何共存安装?-图3
    (图片来源网络,侵删)
    • 运行 .pkg 安装程序,它会自动将 python3pip3 命令安装到 /usr/local/bin 目录下。
  3. 安装 Python 2

    • 运行 Python 2 的 .pkg 安装程序,它会自动将 pythonpip 命令安装到 /usr/local/bin 目录下。
  4. 验证安装

    • 打开终端。
    • 检查 Python 2:
      python --version
      # 应该输出 Python 2.7.x
      pip --version
    • 检查 Python 3:
      python3 --version
      # 应该输出 Python 3.x.x
      pip3 --version

使用包管理器 (推荐用于 Linux)

在 Linux (如 Ubuntu, Debian, CentOS) 上,强烈建议使用系统的包管理器来安装,它会自动处理依赖和路径问题。

在基于 Debian/Ubuntu 的系统上

  1. 更新包列表

    sudo apt update
  2. 安装 Python 3: Python 3 通常是默认安装的,如果没有,可以安装:

    sudo apt install python3 python3-pip
  3. 安装 Python 2: Python 2 在很多新版本中已不再默认提供,需要手动安装:

    sudo apt install python2 python2-pip
  4. 验证安装

    python2 --version  # 输出 Python 2.7.x
    pip2 --version
    python3 --version  # 输出 Python 3.x.x
    pip3 --version

在基于 RedHat/CentOS/Fedora 的系统上

  1. 安装 Python 3

    sudo yum install python3 python3-pip
    # 或者对于 dnf 系统 (Fedora, CentOS 8+)
    sudo dnf install python3 python3-pip
  2. 安装 Python 2

    sudo yum install python2 python2-pip
    # 或者对于 dnf 系统
    sudo dnf install python2 python2-pip
  3. 验证安装

    python2 --version
    pip2 --version
    python3 --version
    pip3 --version

使用 pyenv (最灵活、最专业的方案)

pyenv 是一个极其强大的 Python 版本管理工具,它允许你在同一台机器上安装、切换和隔离多个 Python 版本,而不会影响系统的全局 Python 环境,这是专业开发者的首选。

  1. 安装 pyenv

    • macOS (使用 Homebrew):
      brew update
      brew install pyenv
    • Linux (Ubuntu/Debian):
      curl https://pyenv.run | bash
    • Windows: 可以通过 scoop 安装: scoop install pyenv-win
  2. 配置 Shell

    • 运行安装后输出的命令,将 pyenv 初始化代码添加到你的 shell 配置文件中(如 ~/.bashrc, ~/.zshrc)。
    • 重新加载配置文件:source ~/.bashrcsource ~/.zshrc
  3. 安装 Python 版本

    • 首先安装编译 Python 所需的依赖(以 Ubuntu 为例):

      sudo apt update
      sudo apt install -y make build-essential libssl-dev zlib1g-dev \
      libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
      libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
    • 使用 pyenv 安装 Python 2 和 Python 3:

      # 安装最新的 Python 2.7
      pyenv install 2.7.18
      # 安装最新的 Python 3.11
      pyenv install 3.11.4
  4. 使用和切换版本

    • 为当前 Shell 会话设置全局版本

      pyenv global 3.11.4  # 默认使用 Python 3
    • 为当前目录设置局部版本(推荐)

      cd /path/to/your/project2
      pyenv local 2.7.18  # 在这个目录下,python 命令会指向 Python 2.7
      cd /path/to/your/project3
      pyenv local 3.11.4  # 在这个目录下,python 命令会指向 Python 3.11
    • 验证

      python --version  # 输出当前目录或全局设置的版本
      pip --version

总结与建议

方案 优点 缺点 适用场景
官方安装器 简单易用,自动处理路径 灵活性差,可能与其他工具冲突 Windows/macOS 用户,偶尔需要同时使用两个版本的开发者。
包管理器 系统集成度高,依赖管理好 版本可能较旧(尤其 Python 2) Linux 用户,主要进行系统级或服务器端开发。
pyenv 最灵活、最强大,版本隔离,不影响系统 需要学习,安装和配置稍复杂 强烈推荐给所有开发者,尤其是需要管理多个项目且项目依赖不同 Python 版本的情况。

给初学者的建议

  • 如果你在 WindowsmacOS 上,直接使用 方案一(官方安装器) 就足够了,记得勾选 "Add to PATH"。
  • 如果你在 Linux 上,使用 方案二(包管理器) 是最稳妥的选择。
  • 如果你是认真的开发者,或者项目环境管理对你很重要,花点时间学习并使用 方案三(pyenv,它会让你在未来的开发中事半功倍。
分享:
扫描分享到社交APP
上一篇
下一篇