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

最佳解决方案:使用 pythonX 和 pipX 的形式来区分不同版本,X 是主版本号(如 2 或 3)。
官方安装器 (推荐用于 macOS 和 Windows)
这是最简单、最不容易出错的方法,因为它会自动处理好命令行的命名问题。
在 Windows 上
-
下载安装程序:
- 从 Python 官网下载 Python 3 的安装程序:https://www.python.org/downloads/windows/
- 从 Python 官网下载 Python 2 的安装程序:https://www.python.org/downloads/release/python-2718/ (选择最新的 2.7.x 版本)
-
安装 Python 3:
(图片来源网络,侵删)- 运行 Python 3 的安装程序。
- 关键步骤:在安装界面的第一个页面,务必勾选 "Add Python 3.x to PATH",这会将
py命令和python3、pip3等命令添加到系统路径中。 - 完成安装。
-
安装 Python 2:
- 运行 Python 2 的安装程序。
- 关键步骤:同样地,在安装界面的第一个页面,务必勾选 "Add Python 2.7 to PATH",这会将
python和pip命令(指向 Python 2)添加到系统路径中。 - 完成安装。
-
验证安装:
- 打开新的命令提示符 或 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 上
-
下载安装程序:
- 从 Python 官网下载 Python 3 的安装程序:https://www.python.org/downloads/mac-osx/
- 从 Python 官网下载 Python 2 的安装程序:https://www.python.org/downloads/release/python-2718/
-
安装 Python 3:
(图片来源网络,侵删)- 运行
.pkg安装程序,它会自动将python3和pip3命令安装到/usr/local/bin目录下。
- 运行
-
安装 Python 2:
- 运行 Python 2 的
.pkg安装程序,它会自动将python和pip命令安装到/usr/local/bin目录下。
- 运行 Python 2 的
-
验证安装:
- 打开终端。
- 检查 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 的系统上
-
更新包列表:
sudo apt update
-
安装 Python 3: Python 3 通常是默认安装的,如果没有,可以安装:
sudo apt install python3 python3-pip
-
安装 Python 2: Python 2 在很多新版本中已不再默认提供,需要手动安装:
sudo apt install python2 python2-pip
-
验证安装:
python2 --version # 输出 Python 2.7.x pip2 --version python3 --version # 输出 Python 3.x.x pip3 --version
在基于 RedHat/CentOS/Fedora 的系统上
-
安装 Python 3:
sudo yum install python3 python3-pip # 或者对于 dnf 系统 (Fedora, CentOS 8+) sudo dnf install python3 python3-pip
-
安装 Python 2:
sudo yum install python2 python2-pip # 或者对于 dnf 系统 sudo dnf install python2 python2-pip
-
验证安装:
python2 --version pip2 --version python3 --version pip3 --version
使用 pyenv (最灵活、最专业的方案)
pyenv 是一个极其强大的 Python 版本管理工具,它允许你在同一台机器上安装、切换和隔离多个 Python 版本,而不会影响系统的全局 Python 环境,这是专业开发者的首选。
-
安装
pyenv:- macOS (使用 Homebrew):
brew update brew install pyenv
- Linux (Ubuntu/Debian):
curl https://pyenv.run | bash
- Windows: 可以通过 scoop 安装:
scoop install pyenv-win
- macOS (使用 Homebrew):
-
配置 Shell:
- 运行安装后输出的命令,将
pyenv初始化代码添加到你的 shell 配置文件中(如~/.bashrc,~/.zshrc)。 - 重新加载配置文件:
source ~/.bashrc或source ~/.zshrc。
- 运行安装后输出的命令,将
-
安装 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
-
-
使用和切换版本:
-
为当前 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 版本的情况。 |
给初学者的建议:
- 如果你在 Windows 或 macOS 上,直接使用 方案一(官方安装器) 就足够了,记得勾选 "Add to PATH"。
- 如果你在 Linux 上,使用 方案二(包管理器) 是最稳妥的选择。
- 如果你是认真的开发者,或者项目环境管理对你很重要,花点时间学习并使用 方案三(
pyenv),它会让你在未来的开发中事半功倍。
