怎么在一台电脑上同时安装Python 3.8和3.9并共存管理

白榆
白榆
发布时间:2026-10-26| 2人浏览过
原创

在一台电脑上同时安装并正常使用 Python 3.8 与 Python 3.9,核心解决路径非常明确:安装时为两个版本分配完全独立的目录以避免文件覆盖,安装后借助系统启动器或显式别名进行版本指定,并在具体项目中通过虚拟环境(venv)彻底隔绝依赖。遵循这一原则,两个版本不仅可以稳定共存,日常开发调用也不会产生任何串包与冲突。

一、双版本共存的底层机制与调用分发

许多初学者担心安装新版本会覆盖旧版本,主要是因为混淆了“Python 解释器本身”与“系统命令行默认识别的 python 名称”。Python 本质上是一组可执行程序与标准库文件的集合,只要安装在不同路径下,操作系统中可以容纳任意多个不同的 Python 解释器。

共存管理的核心在于“调用分发”。当我们在终端中输入命令时,系统需要准确知道我们期望唤起哪一个安装路径下的 python.exe。在 Windows 环境下,官方自带的 py(Python Launcher)启动器是最佳分发中枢;而在 macOS 和 Linux 环境下,系统原生支持带版本号的符号链接(如 python3.8 与 python3.9)。各版本拥有自己独立的全局库文件夹(site-packages),互不干扰。

怎么在一台电脑上同时安装Python 3.8和3.9并共存管理
图 1:Python 3.8 与 3.9 物理隔离与命令行调用分发逻辑示意图

二、标准安装步骤与路径规范

要实现平稳共存,第一步就是在安装环节杜绝路径冲突与配置混乱。以下以主流操作环境说明标准化安装过程。

1. 获取官方安装程序

前往 Python 官方网站(python.org),分别下载所需小版本号的 64 位安装程序(例如 Python 3.8.10 与 Python 3.9.13 的 Windows installer 64-bit)。这两个版本分别属于 3.8 与 3.9 系列的长期稳定维护分支。

2. 安装 Python 3.8 的关键选项

  1. 双击打开安装程序,在首页底部勾选 Use admin privileges when installing py.exe 与 py launcher (recommended)。
  2. 建议此时不要勾选“Add Python 3.8 to PATH”,或者仅保留其中一个常用版本添加到 PATH 中。如果把两个版本都塞入系统 PATH,谁排在前面谁就会抢占全局默认的 python 命令,容易引发混淆。
  3. 选择 Customize installation(自定义安装),在“Optional Features”页面保持默认全选(包含 pip、tcl/tk、Python test suite、py launcher 等),点击 Next。
  4. 在“Advanced Options”页面,勾选 Install for all users(为所有用户安装),此时默认安装路径会自动变更为清晰简洁的绝对路径,例如 C:\Program Files\Python38,或者可以手动指定为自定义纯英文无空格目录如 C:\Python38。
  5. 点击 Install 完成安装。

3. 安装 Python 3.9 的关键选项

重复上述步骤运行 Python 3.9 的安装程序:

  • 同样进入 Customize installation。
  • 安装路径明确指定为与 3.8 不同的独立目录,例如 C:\Python39 或 C:\Program Files\Python39。
  • 同样确保勾选了 py launcher(启动器会被更新为兼容支持 3.9 的版本)。
  • 完成安装后点击 Close。
怎么在一台电脑上同时安装Python 3.8和3.9并共存管理
图 2:Python 3.8 与 3.9 规范化安装四步流程图

三、Windows 环境下的共存管理方案:官方 py 启动器

在 Windows 操作系统中,管理多个 Python 版本最优雅、最推荐的方式是直接使用官方提供的 py 命令。许多用户习惯直接输入 python,但当多个版本并存时,python 命令到底指向谁取决于 PATH 顺序,极其脆弱。

py.exe 会自动注册到系统的 C:\Windows\py.exe 路径中(该目录天然在 PATH 内),并且它懂得如何读取注册表识别所有已安装的 Python 版本。

1. 检查已安装的所有版本列表

打开 CMD 或 PowerShell,输入以下命令查看已识别的版本列表:

py --list

示例输出:

Installed Pythons found by py Launcher for Windows
 -3.9-64 *        C:\Python39\python.exe
 -3.8-64          C:\Python38\python.exe

(其中带 * 号的代表当前全局默认调用的版本)。

2. 精准调用指定的解释器

通过添加 -3.8 或 -3.9 参数,即可直接执行相应环境:

# 查看 3.8 的版本号
py -3.8 -V
# 示例输出:Python 3.8.10

# 查看 3.9 的版本号
py -3.9 -V
# 示例输出:Python 3.9.13

# 运行特定的 Python 脚本
py -3.8 main.py
py -3.9 main.py
核心提醒:严禁直接敲 pip install!
如果直接在命令行运行 pip install xxx,系统将调用 PATH 列表中优先匹配到的 pip,第三方包很可能会被装入错误的 Python 版本中。
在多版本共存时,必须养成使用 模块调用法 的习惯:
# 为 Python 3.8 安装第三方包(例如 requests)
py -3.8 -m pip install requests

# 为 Python 3.9 安装第三方包(例如 httpx)
py -3.9 -m pip install httpx

# 分别检查两个版本的安装包列表
py -3.8 -m pip list
py -3.9 -m pip list

py -版本号 -m pip 命令的执行逻辑是:先由 py 启动器精准激活对应版本的解释器,再由该解释器去运行附带在自身目录下的 pip 模块。这在逻辑上百分之百保证了安装包的归属正确性。

四、macOS 与 Linux 环境下的共存管理方案

在类 Unix 系统(macOS / Ubuntu / CentOS 等)中,系统本身不会提供 Windows 下的 py.exe,但其文件系统拥有更加天然的区分机制。

1. 系统自带或官方编译的版本区分

通过官方安装包或系统包管理器安装 Python 3.8 与 3.9 后,系统会在 /usr/local/bin 或 /usr/bin 中自动建立主次版本命名的链接:

# 直接唤起 Python 3.8
python3.8 -V

# 直接唤起 Python 3.9
python3.9 -V

# 同样使用模块方式执行 pip
python3.8 -m pip install requests
python3.9 -m pip install httpx

2. 使用 pyenv 实现多版本平滑切换(进阶)

若在开发机器上频繁需要 3.8、3.9 乃至更多版本,推荐安装 pyenv 工具:

# 查看可安装或已安装版本
pyenv versions

# 局部目录切换:让当前项目目录固定使用 Python 3.8
cd my_project_38
pyenv local 3.8.10

# 另一个项目目录固定使用 Python 3.9
cd my_project_39
pyenv local 3.9.13

五、项目级隔离:使用 venv 彻底告别版本干扰

共存管理的真正最佳实践,不是在全局环境中堆砌第三方库,而是以虚拟环境为单位管理项目。Python 3.8 与 3.9 均原生内置了 venv 模块。只要基于特定版本的解释器创建虚拟环境,进入该环境后即可直接使用简短的 python 和 pip 命令,完全不必再操心版本号冲突。

怎么在一台电脑上同时安装Python 3.8和3.9并共存管理
图 3:基于 Python 3.8 与 3.9 创建独立项目虚拟环境隔离示意图

创建与使用虚拟环境的完整流程

假设我们当前有两个项目需要分别在 Python 3.8 和 Python 3.9 下开发:

场景一:创建 Python 3.8 虚拟环境

# 1. 切换到项目 A 目录
cd D:\Projects\Project_A

# 2. 调用 3.8 创建名为 .venv38 的虚拟环境
py -3.8 -m venv .venv38

# 3. 激活虚拟环境 (Windows CMD)
.venv38\Scripts\activate.bat
# 若为 PowerShell:
.venv38\Scripts\Activate.ps1
# 若为 macOS/Linux:
source .venv38/bin/activate

# 4. 激活后命令行前缀会出现 (.venv38),此时可直接使用原生命令
python -V   # 输出 Python 3.8.x
pip install requests

场景二:创建 Python 3.9 虚拟环境

# 1. 切换到项目 B 目录
cd D:\Projects\Project_B

# 2. 调用 3.9 创建名为 .venv39 的虚拟环境
py -3.9 -m venv .venv39

# 3. 激活虚拟环境 (Windows CMD)
.venv39\Scripts\activate.bat

# 4. 激活后,环境内直接使用原生命令
python -V   # 输出 Python 3.9.x
pip install fastapi uvicorn
退出虚拟环境:无论在哪个版本下,想要退出当前隔离环境,只需在终端中输入 deactivate 并回车即可恢复系统常规终端状态。

六、日常使用避坑与常见问题排查

1. 误区:直接将 python.exe 改名为 python38.exe 或 python39.exe

网络上有些流传较旧的建议让初学者进入安装目录,将 python.exe 重命名为 python38.exe。这种做法非常不推荐。因为很多标准模块、打包工具以及 pip 的内部引导头都是硬编码寻找 python.exe 的。一旦擅自修改文件名,后续在升级 pip、安装包含二进制编译扩展的库或使用 virtualenv 时,极大概率会报错提示找不到解释器。请始终保持原始文件名,交由启动器或软链接分发。

2. IDE(VS Code / PyCharm)中如何绑定版本

  • VS Code:按下 Ctrl + Shift + P(macOS 为 Cmd + Shift + P),输入 Python: Select Interpreter。VS Code 会自动扫描系统中已存在的 3.8、3.9 全局解释器及虚拟环境,直接用鼠标点击即可切换。如果未能自动识别,可选择“Enter interpreter path”,手动浏览定位到 C:\Python38\python.exe 或 C:\Python39\python.exe。
  • PyCharm:在 Settings -> Project: xxx -> Python Interpreter 中,点击齿轮图标选择 Add...,可自由选择针对现有项目创建基于 Python 3.8 的 Virtualenv,或是基于 Python 3.9 的 Virtualenv。

七、多版本共存管理决策速查

最后,我们将日常开发中面对多版本 Python 时的操作决策整理如下表与速查图:

日常操作需求 Windows 平台推荐命令 macOS / Linux 平台推荐命令
运行 3.8 临时脚本 py -3.8 script.py python3.8 script.py
运行 3.9 临时脚本 py -3.9 script.py python3.9 script.py
为 3.8 全局安装依赖 py -3.8 -m pip install <pkg> python3.8 -m pip install <pkg>
为 3.9 全局安装依赖 py -3.9 -m pip install <pkg> python3.9 -m pip install <pkg>
为项目创建独立环境 py -3.8 -m venv .venv python3.8 -m venv .venv
检查全部可用版本 py --list which python3.8 python3.9
怎么在一台电脑上同时安装Python 3.8和3.9并共存管理
图 4:Python 3.8 与 3.9 双版本长期共存的核心准则速查

只要严格按照“独立路径安装、启动器精准分发、模块方式调用 pip、具体项目使用 venv”这套流程操作,Python 3.8 与 Python 3.9 就可以在同一台电脑上和谐并存,既能满足维护旧系统稳定性的需求,又能随时体验新版本的语言特性。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。