WSL 是 Windows 系统下的 Linux 子系统,它运行的是一个完整的 Linux 内核和用户空间,和 Windows 主机的原生环境是相互独立的,因此 WSL 中的 Python 并不会复用 Windows 主机上安装的 Python。

WSL 与 Windows 的环境隔离逻辑
WSL 拥有独立的文件系统,Windows 的主分区在 WSL 中会被挂载到 /mnt/ 目录下,比如 C 盘对应 /mnt/c,而 WSL 自身的系统文件、用户文件都存放在独立的虚拟磁盘中,和 Windows 的文件系统互不干扰。
软件安装层面,Windows 主机通过 exe 安装包安装的 Python,会被写入 Windows 的系统目录和注册表,而 WSL 中的软件需要通过 Linux 的包管理工具(如 apt、yum)安装,安装位置是 Linux 标准的 /usr/bin、/usr/local/bin 等路径,两者的安装路径完全独立。
如何验证两者不共用 Python
我们可以分别在 Windows 主机和 WSL 中查看 Python 的安装路径和版本,就能直观看到两者的差异。
Windows 主机查看方式
打开 Windows 的命令提示符或者 PowerShell,执行以下命令:
# 查看Python可执行文件路径 where python # 查看Python版本 python --version
WSL 中查看方式
打开 WSL 终端,执行以下命令:
# 查看Python可执行文件路径 which python3 # 查看Python版本 python3 --version
可以看到两者的路径和版本通常是不同的,比如 Windows 的 Python 路径可能是 C:Python39python.exe,而 WSL 的 Python 路径可能是 /usr/bin/python3。
WSL 中调用 Windows 主机的 Python
虽然两者不共用安装,但 WSL 可以直接调用 Windows 主机上安装的 Python,因为 WSL 可以访问挂载的 Windows 磁盘。在 WSL 终端中,可以通过以下方式调用:
# 调用Windows C盘下安装的Python /mnt/c/Python39/python.exe --version
不过这种方式调用的 Python 运行在 Windows 环境下,访问的文件路径是 Windows 的路径规则,和 WSL 内的 Linux 路径规则不兼容,容易出现路径错误的问题,因此不建议在 WSL 项目中使用这种方式。
WSL 中 Python 的正确安装方式
如果需要在 WSL 中开发 Python 项目,建议在 WSL 内部独立安装 Python,避免和 Windows 环境混淆。以 Ubuntu 系统的 WSL 为例,安装步骤如下:
# 更新软件包列表 sudo apt update # 安装Python3和对应的包管理工具 sudo apt install python3 python3-pip python3-venv -y # 验证安装结果 python3 --version pip3 --version
如果需要管理多个 Python 版本,还可以使用 pyenv 工具,在 WSL 中安装 pyenv 后,可以灵活切换不同的 Python 版本,不会影响 Windows 主机的 Python 环境。
总结
WSL 作为独立的 Linux 运行环境,和 Windows 主机是完全隔离的,因此 WSL 中的 Python 不会复用 Windows 主机安装的版本,两者有独立的安装路径和运行逻辑。如果需要在 WSL 中开发 Python 项目,建议在 WSL 内部独立安装 Python,避免跨环境调用带来的路径兼容问题。如果确实需要在 WSL 中调用 Windows 的 Python,可以通过挂载的磁盘路径直接访问,但要注意路径规则的差异。