Python与Python3版本不一致导致VSCode中Flask运行报错求助
问题原因
你系统里同时存在三个Python版本:python对应3.9.6,python3对应3.10.8,而Flask实际装在了Python3.11的全局环境中。VSCode里你选的解释器要么是3.9要么是3.10,自然找不到3.11里的Flask包。另外你说试了所有可用解释器还不行,大概率是VSCode没自动识别到Python3.11,或者你选的时候没留意对应的路径。
解决步骤
1. 找到Python3.11的可执行路径
打开终端,输入命令:
which python3.11
会输出类似/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11的路径,把这个路径记下来。
2. 在VSCode里手动指定该解释器
- 打开你的Flask项目,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)调出命令面板 - 输入
Python: Select Interpreter并回车 - 选择
Enter interpreter path...,粘贴刚才拿到的Python3.11路径,确认即可
3. 验证并运行
在VSCode的终端里,执行以下命令确认Flask已安装:
python3.11 -m pip install flask
此时会显示Requirement already satisfied,说明包确实在这个版本里。之后运行你的Flask应用,应该就不会出现ModuleNotFoundError了。
4. 可选:统一终端的Python版本调用
如果不想每次都手动指定解释器,可以修改终端配置,让python和python3都指向3.11:
- 打开终端配置文件:如果用bash,编辑
~/.bash_profile;如果用zsh,编辑~/.zshrc - 添加以下内容(替换成你自己的Python3.11路径):
alias python="/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11" alias python3="/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11"
- 保存后执行
source ~/.bash_profile(bash)或source ~/.zshrc(zsh)生效,之后python和python3都会默认调用3.11版本,后续装包和运行就不会再出现版本混乱的问题。
内容的提问来源于stack exchange,提问作者user18930222
相关产品推荐
相关产品推荐

