VS Code中Python虚拟环境ModuleNotFoundError问题求助
VS Code无法识别Python虚拟环境(.venv)中的库,但终端运行正常
问题描述
在Windows系统使用Python虚拟环境时,VS Code无法识别.venv目录下安装的库,但在CMD终端激活虚拟环境后运行代码无报错,推测是VS Code设置问题。
已尝试步骤
- 卸载并重装Python和VS Code
- 创建新虚拟环境并选择
.venv的Python解释器 - 在终端通过CMD激活
.venv环境 - 多次卸载重装pandas模块
- 确认pandas已存在于
.venv中 - 在终端CMD中成功执行代码
环境信息
- Windows系统
- Python 3.12.3
- 最新版VS Code
测试代码(test.py)
def main(): myvar = "hello" print(myvar) return main() import sys print(sys.path) import pandas as pd print(pd.__version__)
运行输出对比
VS Code运行输出(已选择.venv解释器)
[Running] python -u "c:\Users\hemal\my_projects\test.py" hello ['c:\\Users\\hemal\\my_projects', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312\\DLLs', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312\\Lib', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages'] Traceback (most recent call last): File "c:\Users\hemal\my_projects\test.py", line 12, in <module> import pandas as pd ModuleNotFoundError: No module named 'pandas' [Done] exited with code=1 in 0.154 seconds
CMD终端运行输出(已激活.venv)
(.venv) C:\Users\hemal\my_projects>python test.py hello ['C:\\Users\\hemal\\my_projects', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python312\\DLLs', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python312\\Lib', 'C:\\Users\\hemal\\AppData\\Local\\Programs\\Python312', 'C:\\Users\\hemal\\my_projects\\.venv', 'C:\\Users\\hemal\\my_projects\\.venv\\Lib\\site-packages'] 2.2.2 (.venv) C:\Users\hemal\my_projects>
虚拟环境已安装库(pip freeze结果)
cachetools==5.3.3 certifi==2024.2.2 charset-normalizer==3.3.2 google-auth==2.29.0 google-auth-oauthlib==1.2.0 gspread==6.1.2 idna==3.7 numpy==1.26.4 oauthlib==3.2.2 pandas==2.2.2 pyasn1==0.6.0 pyasn1_modules==0.4.0 python-dateutil==2.9.0.post0 pytz==2024.1 requests==2.32.2 requests-oauthlib==2.0.0 rsa==4.9 six==1.16.0 tzdata==2024.1 urllib3==2.2.1
解决方案
1. 确认VS Code解释器指向正确
- 按下
Ctrl+Shift+P调出命令面板,输入Python: Select Interpreter - 选择
.venv\Scripts\python.exe路径的解释器,关闭并重启VS Code生效
2. 配置终端集成设置
- 按下
Ctrl+,打开设置,搜索terminal.integrated.defaultProfile.windows,设置为Command Prompt - 打开新终端,确认自动激活虚拟环境(显示
(.venv)前缀)
3. 修改运行配置文件
- 点击运行按钮旁的下拉菜单,选择
create a launch.json file - 在
launch.json中指定虚拟环境Python路径,示例配置:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "pythonPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe" } ] }
- 保存后重新运行代码
4. 清除VS Code缓存
- 关闭VS Code,删除以下目录的缓存文件:
%APPDATA%\Code\Cache%APPDATA%\Code\CachedData
- 重启VS Code并重新选择解释器
5. 检查环境变量优先级
- 在CMD中执行
where python,确认第一个结果是.venv\Scripts\python.exe - 若不是,调整系统环境变量
PATH,将虚拟环境Scripts目录移至全局Python路径之前
内容的提问来源于stack exchange,提问作者Hemal Davda
相关产品推荐
相关产品推荐

