VS Code中Python项目如何确保代码使用.venv虚拟环境而非全局pip包?
VS Code中Python项目如何确保代码使用.venv虚拟环境而非全局pip包?
兄弟,我之前也踩过VS Code虚拟环境和包不匹配的坑,太懂这种明明设置了但就是不行的烦躁了!咱们一步步来把问题解决掉:
一、先把虚拟环境的激活和包安装做对(最容易出错的环节)
- 先手动激活虚拟环境:打开VS Code的终端,输入对应Windows Powershell的激活命令:
敲完回车,终端开头应该出现.venv\Scripts\Activate.ps1(.venv)的绿色标识,这才说明虚拟环境真的激活了。 - 必须在这个带
(.venv)标识的终端里安装numpy,别在没激活的终端瞎操作:pip install numpy - 安装完立刻在同一个终端里敲
pip list,看看输出里有没有numpy,确认它真的装到虚拟环境里了。
二、把VS Code的Python解释器绑定到虚拟环境
- 看VS Code左下角的状态栏,有个显示Python版本的区域(比如
3.11.4),点击它,在弹出的列表里找到你这个项目的.venv文件夹下的Python解释器,路径一般是./.venv/Scripts/python.exe,选它。 - 选完之后,把当前的终端都关掉(点垃圾桶图标),重新开一个新终端,这时候终端应该自动带上
(.venv)标识,不用手动激活了。
三、解决你碰到的“sys.executable指向虚拟环境但没numpy”的矛盾
你说sys.executable显示用的是.venv,但虚拟环境里没numpy,大概率是你之前装numpy的时候,终端其实没真的激活虚拟环境——比如看起来激活了但其实被系统权限拦截了,导致包装到了别的地方(比如全局残留的Python路径)。所以按照第一步的方法,在明确看到(.venv)标识的终端里重新装一遍,装完立刻pip list确认,肯定能看到numpy。
四、排查Windows Powershell的权限问题(容易被忽略的坑)
有时候Windows默认的执行策略会阻止虚拟环境的激活脚本运行,导致(.venv)标识消失。解决方法:
- 右键点击Powershell,选“以管理员身份运行”
- 输入命令:
Set-ExecutionPolicy RemoteSigned - 弹出提示后敲
Y确认,之后虚拟环境的激活脚本就能正常运行了。
五、最后做个验证
写个简单的测试脚本test.py:
import sys import numpy print(f"当前使用的Python解释器路径: {sys.executable}") print(f"Numpy版本: {numpy.__version__}")
用VS Code的运行按钮(右上角的三角形)或者激活的终端敲python test.py来运行,如果能正常输出路径和版本,就说明问题解决了!




