You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2中激活Python虚拟环境后版本未切换的问题及解决

Python虚拟环境版本不匹配问题排查与解决

背景

在WSL2(Ubuntu 20.04)环境下,我在指定目录创建Python虚拟环境的过程如下:

  • 通过sudo update-alternatives --config python3将系统Python3版本切换为3.11
  • 执行python3 -m venv venv创建虚拟环境
  • 重启WSL2后出现模块缺失错误,随后将系统Python切回Ubuntu 20.04默认的3.8版本

当前VS Code连接WSL2工作,虚拟环境目录venv/bin下包含以下文件:

  • python
  • python3
  • python3.11
  • pip
  • pip3

问题

执行source venv/bin/activate激活虚拟环境后(命令提示符已显示(venv)标识),执行python3 --version仍返回3.8.10,但创建虚拟环境时使用的是Python3.11。VS Code已将解释器设置为3.11,但进入Python控制台执行:

import sys
sys.path

输出为:

['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload']

此外,虚拟环境中的pip无法正常工作,但将系统Python切回3.11时pip可正常使用(在3.8环境下执行pip安装会提示包已安装)。

解决方法

删除现有虚拟环境,按以下步骤重新创建:

  1. 执行sudo update-alternatives --config python3将系统Python3切换为3.11
  2. 执行python3 --version验证当前终端使用的是Python3.11
  3. 重新执行python3 -m venv venv创建虚拟环境
  4. 激活新环境后再次执行python3 --version验证版本

内容的提问来源于stack exchange,提问作者DanT29

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:30:57