Windows下激活Python虚拟环境后路径仍指向全局Python的问题
Windows虚拟环境激活后Python路径仍指向全局的解决方案
在Windows系统中创建Python虚拟环境,执行激活脚本后终端显示已进入虚拟环境(前缀带
(VENV_NAME)),但执行where python输出仍指向全局的微软商店Python路径:PS C:\PATH_TO_PROJECT> cmd Microsoft Windows [Version 10.0.26100.6725] (c) Microsoft Corporation. All rights reserved. C:\PATH_TO_PROJECT>C:\PATH_TO_PROJECT\.venv\VENV_NAME\Scripts\activate.bat (VENV_NAME) C:\PATH_TO_PROJECT>where python C:\Users\MY_USER\AppData\Local\Microsoft\WindowsApps\python.exe使用VSCode作为开发编辑器。
可能的原因及解决步骤
1. 手动调整PATH优先级
激活虚拟环境后,系统PATH中微软商店Python的路径优先级高于虚拟环境的Scripts目录。执行以下命令将虚拟环境路径前置:
set PATH=C:\PATH_TO_PROJECT\.venv\VENV_NAME\Scripts;%PATH%
再次执行where python,此时应优先返回虚拟环境内的python.exe。
2. 修改系统环境变量
- 打开「系统属性」→「高级」→「环境变量」,在「系统变量」的
PATH列表中找到C:\Users\MY_USER\AppData\Local\Microsoft\WindowsApps条目。 - 将其移至列表下方降低优先级;若不需要微软商店版本的Python,可直接删除该条目。
- 保存设置后重启终端,重新激活虚拟环境验证。
3. 重建虚拟环境
若激活脚本存在异常,重新创建虚拟环境:
python -m venv .venv\VENV_NAME
重新执行激活脚本后,检查where python的输出。
4. 配置VSCode解释器与终端
- 选择正确的解释器:按下
Ctrl+Shift+P,输入Python: Select Interpreter,选择虚拟环境路径下的Scripts\python.exe。 - 刷新终端环境:关闭当前VSCode终端,重新打开后激活虚拟环境;或执行
refreshenv命令(需提前安装环境变量刷新工具)。 - 检查终端环境变量:在VSCode设置中搜索
terminal.integrated.env.windows,确保未手动覆盖PATH变量,导致虚拟环境路径无法正确注入。
内容的提问来源于stack exchange,提问作者Apostla
相关产品推荐
相关产品推荐

