杰瑞科技汇

Python2与Python3如何共存安装?

隔离与区分

同时安装两个版本的关键在于将它们完全隔离,避免它们的可执行文件、库文件等相互干扰,这主要通过以下两点实现:

Python2与Python3如何共存安装?-图1
(图片来源网络,侵删)
  1. 独立的安装路径:Python 2 安装在一个目录,Python 3 安装在另一个不同的目录。
  2. 不同的命令名:通过命令行工具,你可以明确地告诉系统你想使用哪个版本。

安装 Python 2 和 Python 3

推荐使用官方安装程序(最简单直接)

这是最简单、最不容易出错的方法。

安装 Python 3

  • 访问 Python 官方下载页面:https://www.python.org/downloads/
  • 下载最新的 Python 3.x 版本(Python 3.11)。
  • 运行安装程序。
  • 关键步骤:在安装界面,务必勾选 "Add Python 3.x to PATH"(将 Python 3.x 添加到系统环境变量),这会让你可以从命令行直接使用 python 命令。

安装 Python 2

  • 访问 Python 官方下载页面:https://www.python.org/downloads/
  • 向下滚动页面,找到 "Looking for a specific release?"(寻找特定版本)部分。
  • 下载最新的 Python 2.x 版本(Python 2.7.18)。
  • 运行安装程序。
  • 关键步骤:同样,务必勾选 "Add Python 2.7 to PATH"

安装完成后,你的系统 PATH 环境变量中会同时包含 pythonpython2python3 等可执行文件。

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

使用包管理器(Linux / macOS)

对于 Linux 和 macOS 用户,使用包管理器是更常见的做法。

Linux (以 Ubuntu/Debian 为例)

# 安装 Python 3 (通常是默认的)
sudo apt update
sudo apt install python3 python3-pip
# 安装 Python 2
sudo apt install python2 python2-pip

macOS (使用 Homebrew)

# 安装 Homebrew (如果还没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Python 3
brew install python
# 安装 Python 2
brew install python@2

使用 Homebrew 安装后,可执行文件通常位于 /usr/local/bin,系统会自动处理路径问题。

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

验证安装和区分版本

打开你的终端(Windows 是命令提示符或 PowerShell,Linux/macOS 是 Terminal),运行以下命令来验证。

检查版本号

# 检查 Python 3 版本 (推荐使用这个)
python3 --version
# 或者
py --3  # Windows 上 py.exe 的用法
# 检查 Python 2 版本
python2 --version
# 或者
py --2  # Windows 上 py.exe 的用法

你应该会看到类似 Python 3.11.4Python 2.7.18 的输出。

检查可执行文件位置

# which 命令在 Linux/macOS 上使用
which python3
which python2
# where 命令在 Windows 上使用
where python3
where python2

你会看到它们指向不同的文件路径,这证明了它们是独立的。

检查 pip 版本

# Python 3 的 pip
python3 -m pip --version
# Python 2 的 pip
python2 -m pip --version

注意:强烈建议使用 python -m pip 的方式来调用 pip,这能确保你使用的是对应 Python 版本的包管理器,避免混淆。


管理包(虚拟环境是最佳实践)

当两个版本共存时,最大的问题就是包的管理,为每个项目创建独立的虚拟环境是行业标准做法,它能彻底解决版本和依赖冲突的问题。

为 Python 3 项目创建环境

# 创建一个名为 my_py3_project 的环境
python3 -m venv my_py3_project
# 激活环境
# Windows:
my_py3_project\Scripts\activate
# Linux/macOS:
source my_py3_project/bin/activate
# 激活后,命令行提示符前会出现 (my_py3_project)
# 现在的 python 命令指向的是 Python 3
(my_py3_project) $ python --version
Python 3.11.4
# 安装包,这个包只会安装在这个环境里
(my_py3_project) $ pip install requests
# 退出环境
(my_py3_project) $ deactivate

为 Python 2 项目创建环境

# 创建一个名为 my_py2_project 的环境
python2 -m virtualenv my_py2_project
# 激活环境
# Windows:
my_py2_project\Scripts\activate
# Linux/macOS:
source my_py2_project/bin/activate
# 激活后,命令行提示符前会出现 (my_py2_project)
# 现在的 python 命令指向的是 Python 2
(my_py2_project) $ python --version
Python 2.7.18
# 安装包,这个包只会安装在这个环境里
(my_py2_project) $ pip install some_old_library
# 退出环境
(my_py2_project) $ deactivate

为什么虚拟环境如此重要?

  • 隔离性:每个项目的依赖都独立,不会互相污染。
  • 可复现性:可以轻松地重新创建一个完全相同的环境。
  • 避免全局污染:不会把各种项目的包都装到系统全局的 Python 环境中。

配置 IDE(如 VS Code)

如果你使用 Visual Studio Code,它可以非常智能地处理多版本 Python。

  1. 安装 Python 扩展:在 VS Code 扩展商店中搜索并安装 "Python" 扩展(由 Microsoft 发布)。
  2. 选择解释器
    • Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (macOS) 打开命令面板。
    • 输入 Python: Select Interpreter 并回车。
    • 在弹出的列表中,你会看到所有已安装的 Python 解释器,包括 Python 3.xPython 2.x
    • 为你的项目选择合适的版本。
  3. 自动检测:VS Code 通常能自动检测项目文件夹中的 .venvvenv 文件夹,并自动切换到对应的解释器。

常见问题与解决方案

问题:在 Windows 上,python 命令到底指向哪个版本? Windows 的安装程序会向 PATH 中添加 python.exe,如果先装了 Python 2,后装了 Python 3,python.exe 可能会指向 Python 3 的版本(因为后安装的路径可能被优先添加到 PATH),反之亦然。

解决方案:

  • 使用 py.exe:Windows 自带一个启动器 py.exe,它可以智能地管理多个版本。
    • py --list:列出所有可用的 Python 版本。
    • py --3 script.py:明确使用 Python 3 运行脚本。
    • py --2 script.py:明确使用 Python 2 运行脚本。
    • py -3:启动一个 Python 3 的交互式 shell。
  • 使用 python3python2:这是最明确、最推荐的方式,在任何情况下都不会混淆。

问题:如何运行一个 Python 脚本并指定版本?

  • 直接调用解释器

    # 使用 Python 3 运行
    python3 my_script.py
    # 使用 Python 2 运行
    python2 my_script.py
  • 在脚本头部(Shebang)(适用于 Linux/macOS): 在你的脚本第一行写入:

    #!/usr/bin/env python3

    然后给脚本执行权限:chmod +x my_script.py,之后就可以直接 ./my_script.py 运行,系统会自动使用 python3

任务 Windows 命令 Linux/macOS 命令 说明
检查 Python 3 版本 python3 --versionpy --3 --version python3 --version 明确使用 Python 3
检查 Python 2 版本 python2 --versionpy --2 --version python2 --version 明确使用 Python 2
安装 Python 3 包 python3 -m pip install <package> python3 -m pip install <package> 推荐方式,确保使用正确的 pip
安装 Python 2 包 python2 -m pip install <package> python2 -m pip install <package> 推荐方式,确保使用正确的 pip
创建 Python 3 环境 python3 -m venv my_env python3 -m venv my_env 创建隔离的开发环境
创建 Python 2 环境 python2 -m virtualenv my_env python2 -m virtualenv my_env virtualenv 是 Python 2 的常用工具

遵循以上步骤,你就可以在同一个系统上稳定、清晰地同时使用 Python 2 和 Python 3,而不会造成混乱,记住“明确调用”“虚拟环境”是两大黄金法则。

分享:
扫描分享到社交APP
上一篇
下一篇