杰瑞科技汇

Python2与Python3如何共存安装?

py 命令和虚拟环境

现代的 Python 安装程序(特别是从 Python 官方网站下载的)已经内置了一个非常优雅的解决方案,通过 py 启动器命令来管理不同版本的 Python。最佳实践是使用虚拟环境来隔离不同项目的依赖,避免版本冲突。

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

在 Windows 上同时安装 Python 2 和 Python 3 (推荐)

这是最简单、最推荐的方式,因为 Python 官方安装程序做得非常好。

步骤 1:下载并安装 Python 3

  1. 访问 Python 官方下载页面:https://www.python.org/downloads/windows/

  2. 下载最新的 Python 3.x 版本(Python 3.11)。

  3. 运行安装程序。

    Python2与Python3如何共存安装?-图2
    (图片来源网络,侵删)
  4. 关键步骤:在安装的第一个界面,务必勾选 "Add Python 3.x to PATH",这会将 Python 3 的可执行文件路径添加到系统环境变量中。

  5. 点击 "Install Now" 进行标准安装。

步骤 2:下载并安装 Python 2

  1. 访问 Python 官方归档页面:https://www.python.org/downloads/windows/ (向下滚动找到旧版本)
  2. 找到一个 Python 2.x 的最新稳定版(Python 2.7.18)。
  3. 运行安装程序。
  4. 关键步骤:同样地,在安装界面,务必勾选 "Add Python 2.7 to PATH"
  5. 点击 "Install Now" 进行安装。

步骤 3:验证安装和 py 启动器

安装完成后,打开一个新的 命令提示符PowerShell 窗口(不是在安装过程中打开的那个窗口)。

  1. 验证 py 启动器py 启动器是 Python 官方提供的工具,它会自动查找系统中所有安装的 Python 版本。

    Python2与Python3如何共存安装?-图3
    (图片来源网络,侵删)
    # 查看所有可用的 Python 版本
    py --list

    你应该会看到类似下面的输出:

    Installed Pythons found by py Launcher for Windows
     -3.11-64 *
     -2.7-64

    号表示默认版本,你可以通过 py -3.11py -2.7 来指定使用哪个版本。

  2. 分别运行 Python 2 和 Python 3

    • 运行 Python 3:

      py -3
      # 或者直接 py (3 是默认版本)

      进入交互式解释器后,输入 exit() 退出。

    • 运行 Python 2:

      py -2

      进入交互式解释器后,输入 exit() 退出。

  3. 验证 pippip 也会被 py 启动器管理。

    • Python 3 的 pip:
      py -3 -m pip --version
    • Python 2 的 pip:
      py -2 -m pip --version

      强烈建议始终使用 py -X -m pip 的方式来调用 pip,这能确保你使用的是正确版本的包管理器。

步骤 4:创建虚拟环境(最佳实践)

不要在全局安装项目依赖,这会导致版本冲突,为每个项目创建独立的虚拟环境。

假设你有一个需要 Python 3 的项目 my_new_project

# 1. 创建项目文件夹并进入
mkdir my_new_project
cd my_new_project
# 2. 使用 py -3 创建一个名为 venv 的虚拟环境
py -3 -m venv venv
# 3. 激活虚拟环境
# 在 CMD 中
venv\Scripts\activate.bat
# 在 PowerShell 中
venv\Scripts\Activate.ps1
# (venv) C:\Users\YourUser\my_new_project>  # 激活后命令提示符前会出现 (venv)
# 4. 现在在这个环境中,python 和 pip 都指向 Python 3
python --version  # 应该显示 Python 3.x
pip install requests
# 5. 完成工作后,退出虚拟环境
deactivate

假设你有一个旧项目 my_legacy_project 需要 Python 2:

# 1. 创建项目文件夹并进入
mkdir my_legacy_project
cd my_legacy_project
# 2. 使用 py -2 创建虚拟环境
py -2 -m venv venv
# 3. 激活虚拟环境
venv\Scripts\activate.bat  # 或 .ps1
# 4. 现在在这个环境中,python 和 pip 都指向 Python 2
python --version  # 应该显示 Python 2.7
pip install some-old-package
# 5. 退出虚拟环境
deactivate

在 macOS / Linux 上同时安装 Python 2 和 Python 3

macOS 和大多数 Linux 发行版(如 Ubuntu)通常已经预装了 Python 2 和 Python 3,但版本可能很旧(例如系统 Python 2.7),并且不建议直接修改系统自带的 Python,我们使用 pyenv 来管理多个 Python 版本,这是最灵活、最干净的方式。

步骤 1:安装 pyenv

pyenv 是一个优秀的 Python 版本管理器。

在 macOS (使用 Homebrew):

brew install pyenv

在 Linux (Ubuntu/Debian):

# 1. 安装依赖
sudo apt-get update
sudo apt-get 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
# 2. 安装 pyenv
curl https://pyenv.run | bash

步骤 2:配置 Shell 环境

将以下命令添加到你的 Shell 配置文件中(通常是 ~/.bashrc, ~/.zshrc~/.profile)。

# 在文件末尾添加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

然后重新加载配置文件:

# 对于 bash
source ~/.bashrc
# 对于 zsh
source ~/.zshrc

步骤 3:安装 Python 2 和 Python 3

现在使用 pyenv 安装你需要的版本。

# 安装最新的 Python 2.x (2.7.18)
pyenv install 2.7.18
# 安装最新的 Python 3.x (3.11.4)
pyenv install 3.11.4

步骤 4:设置全局或局部 Python 版本

  • 设置全局默认版本(可选):

    # 设置 Python 3 为全局默认
    pyenv global 3.11.4
    # 查看当前版本
    python --version  # 应该显示 Python 3.11.4
  • 为特定项目设置版本(推荐): 进入你的项目目录,然后设置局部版本,这个设置会覆盖全局设置。

    # 进入项目目录
    cd /path/to/my_legacy_project
    # 为这个项目设置 Python 2.7
    pyenv local 2.7.18
    # 检查版本
    python --version  # 应该显示 Python 2.7.18
    # 再进入另一个项目目录
    cd /path/to/my_new_project
    # 为这个项目设置 Python 3.11
    pyenv local 3.11.4
    # 检查版本
    python --version  # 应该显示 Python 3.11.4

步骤 5:创建虚拟环境

使用 venv 模块创建虚拟环境,它会自动使用 pyenv 指定的 Python 版本。

# 在 my_new_project 目录下 (Python 3.11 已激活)
python -m venv venv
source venv/bin/activate
pip install django
# 在 my_legacy_project 目录下 (Python 2.7 已激活)
python -m venv venv
source venv/bin/activate
pip install flask

总结与关键点

特性 Windows (推荐) macOS / Linux (推荐)
核心工具 py 启动器 pyenv 版本管理器
安装方式 官网安装包,勾选 "Add to PATH" pyenv install <version>
调用版本 py -2, py -3 pyenv local <version>
包管理器 py -2 -m pip, py -3 -m pip python -m pip (虚拟环境中)
最佳实践 虚拟环境 (py -X -m venv) 虚拟环境 (python -m venv)
PATH 管理 安装程序自动处理 pyenv 通过 shims 动态管理

最重要的建议:

  1. 使用虚拟环境:这是隔离项目依赖、避免包冲突的黄金法则。
  2. 明确指定版本:无论是用 py -X 还是在虚拟环境中,始终清楚地知道自己正在使用哪个版本的 Python 和 pip。
  3. pip 的调用方式:使用 python -m pippy -X -m pip,而不是直接调用 pip 命令,以确保使用正确的包管理器。
  4. 逐步淘汰 Python 2:Python 2 已在 2025 年停止支持,除非维护无法升级的旧项目,否则应尽可能使用 Python 3。
分享:
扫描分享到社交APP
上一篇
下一篇