flask+uwsgi+nginx报错no python application found, check your startup logs for errors解决,踩坑记录

作者在部署Flask应用时遇到InternalServerError,经过检查发现是由于Werkzeug库版本过高导致的ImportError。文章强调了在遇到此类问题时,不仅要检查uwsgi配置,还要确保代码和库版本的匹配性。

提示:该错误出现的原因有很多种,并不只是uwsgi.ini没配置好,作者就在此处踩了坑。

最近打算部署flask项目,使用的组合是Flask+uwsgi+Nginx,先使用了最简单但的flask项目部署测试

文件路径为/opt/mycode/test/test.py

from flask import Flask

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

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

uwsgi配置如下

[uwsgi]
socket = :5000
chdir = /opt/mycode/test
wsgi-file =test.py
callable = app
processes = 4
threads = 2
stats = 0.0.0.0:9191
pidfile = uwsgi.pid
daemonize = logs/uwsgi.log
master = true
home=/opt/software/anaconda3/envs/wx_app
py-autoreload= 1
~                               

启动uwsgi后,访问项目,浏览器出现 Internal Server Error

检查uwsgi日志,发现日志提示问题

no python application found, check your startup logs for errors

于是尝试网上搜索各种解答,基本都是说uwsgi配置有问题,遂检查uwsgi.ini配置文件,尝试修改配置文件(其实配置文件并没问题)。

重新检查日志文件,发现还有一处之前没注意到的提示

ImportError: cannot import name ‘url_quote‘ from ‘werkzeug.urls‘

怀疑第一个错误是该错误引起的,这个错误的原因是因为Werkzeug库的版本较高,为3.0.1版本,需要降低Werkzeug的版本,于是将Werkzeug版本降为2.3.7,解决报错,同时解决

no python application found, check your startup logs for errors

最终解决问题,页面成功访问

因此,在遇到此错误时,检查uwsgi配置文件没有错误之后,还要检查自己的代码是否正确,以及库的版本是否匹配!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值