Gunicorn 在 Windows 上能安装但无法运行的解决方案
发布项目
推荐使用 gunicorn 对项目进行发布。
pip install gunicorn # 安装 gunicorn # 运行项目
gunicorn -b 0.0.0.0:5000 app:app
如果部分平台(如 Windows)不能使用 gunicorn 可以尝试使用 pywsgi 。
pip install gevent # 安装 gevent
本机不能使用 gunicorn 尝试使用 pip install gevent后如何运行项目:
一、使用 gevent.pywsgi 启动项目的步骤
-
安装 gevent
pip install gevent
-
修改 Flask 应用的启动文件(关键步骤)
在 Flask 应用的主文件(通常是 app.py)中添加以下代码,直接通过 gevent 的 WSGI 服务器启动:
from gevent.pywsgi import WSGIServer
from your_flask_app import app # 替换 your_flask_app 为实际模块名if __name__ == '__main__':# 启动 gevent 服务器server = WSGIServer(('0.0.0.0', 5000), app) # 绑定 IP 和端口server.serve_forever()
- 运行项目
python app.py # 直接运行修改后的 app.py
出现问题: ModuleNotFoundError: No module named ‘flask’ 错误,这表明 Python 环境中未安装 Flask 库。
一、问题原因分析
-
虚拟环境中未安装 Flask
你当前在虚拟环境(venv)中运行项目,但该环境可能未安装 Flask 依赖。 -
依赖未正确安装
项目可能依赖其他库(如 flask-sqlalchemy、flask-login 等),但未通过 pip install 安装。 -
requirements.txt 未同步
如果项目有 requirements.txt 文件,但未在虚拟环境中执行 pip install -r requirements.txt,会导致依赖缺失。
二、解决方案步骤
步骤 1:激活虚拟环境(已在虚拟环境中)
确保已正确激活虚拟环境(终端提示符前应有 (venv) 标识):
# 进入项目目录
cd C:\Users\baby\pear-admin-flask
# 激活虚拟环境(Windows PowerShell)
venv\Scripts\Activate.ps1
步骤 2:安装 Flask 核心库
# 安装 Flask
pip install flask
# 验证安装
pip show flask # 应输出 Flask 的版本和路径
步骤 3:安装项目完整依赖
如果项目有 requirements.txt 文件,直接安装全部依赖:
pip install -r requirements.txt
终端输出
成功启动后会显示类似以下信息(无报错):
Serving on http://0.0.0.0:5000