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

MacOS下Flask虚拟环境已安装仍报‘Python library "Flask" not found’求助

解决MacOS下Flask提示"Python library 'Flask' not found"的问题

嘿,你已经把基础流程都走了一遍,但还是碰到导入错误,这种情况在MacOS上挺常见的——大概率是你运行脚本时用的Python解释器,不是虚拟环境里的那个版本,毕竟Mac自带的系统Python和咱们自己建的虚拟环境很容易搞混。咱们一步步排查解决:

1. 先确认虚拟环境真的激活了

先瞅一眼终端提示符开头有没有 (venv_flask) 标识,如果没有,重新激活一次:

source ./venv_flask/bin/activate

激活后再跑一遍 pip freeze,确认能看到 Flask==0.11.1,确保当前环境是对的。

2. 检查当前用的Python是不是虚拟环境里的

虚拟环境激活后,python 命令应该指向环境内的版本,执行下面的命令看路径:

which python

正常输出应该是类似 ./venv_flask/bin/python 的路径,如果显示的是 /usr/bin/python 这种系统路径,说明虚拟环境没真正生效——比如你是不是开了新的终端窗口没激活?或者路径优先级被系统Python抢了?

另外,也可以对比Python和pip的版本,确保两者对应:

python --version
pip --version

这两个命令里的Python版本得一致,而且路径都得在 venv_flask 目录下才行。

3. 直接用虚拟环境的Python运行脚本

如果上面确认了路径没问题,但还是报错,试试直接指定虚拟环境里的Python来跑hello.py:

./venv_flask/bin/python hello.py

这样能绕开终端里的Python别名或者路径优先级问题,直接用咱们装了Flask的那个解释器。

4. 补全hello.py的测试代码(可选但推荐)

你现在的hello.py只有导入语句,其实完整的HelloWorld脚本应该是这样的(虽然导入就报错,但补全后方便验证是否真的能运行):

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

激活环境后,用上面的指定Python路径或者直接 python hello.py 运行就行。

5. 终极方案:重建虚拟环境

如果上面所有步骤都试过还是不行,可能是当初创建虚拟环境的时候出了问题(比如用了系统Python创建,后来切换了Python版本),那就删掉旧环境重来:

# 先退出当前虚拟环境
deactivate
# 删除旧的虚拟环境文件夹
rm -rf venv_flask
# 用python3创建新环境(避免和系统Python混淆)
python3 -m venv venv_flask
# 激活新环境并重装Flask
source venv_flask/bin/activate
pip install flask==0.11.1
# 确认安装成功
pip freeze
# 最后运行脚本
python hello.py

一般来说,第2、3步就能解决问题,MacOS里系统Python和用户安装的Python3路径冲突是这类问题的高发原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:24:45