- 服务器版本:Linux服务器CentOS版本
- 项目概述:python3 + Flask + uwsgi
服务器上python版本混乱,有2.7和3.7俩个版本,因为有多人在用,环境安装的也颇为混乱。在部署flask项目的时候,就碰到了一系列的问题。废了一下午时间解决,现在总结一下。脑壳疼 -。-
就是这个问题:uwsgi no app loaded. going in full dynamic mode
解决方案一:(这个方案没有解决问题,但是思路值得学习)
百度一番以后,有篇帖子说这是yum install uwsgi引起的,需要yum remove uwsgi,删除/sbin/uwsgi文件,然后pip3 install uwsgi,试了以后发现不行。该帖还给出了方案二(果然是资深老大哥)
# 执行以下命令,查询uwsgi位置
whereis uwsgi
# 通过指定的路径运行uwsgi
/bin/uwsgi uwsgi.ini
试了以下以后,发现问题还是存在,头大。
解决方案二: bingo~
感谢同事一语点醒我,既然是环境混乱,创建一个虚拟环境不就可以了吗?
嗯,有道理,以下是Linux下创建虚拟环境:
- cd到项目目录下(跟主程序run.py同一目录),运行 python3 -m virtualenv env 创建env虚拟环境的文件夹。这里有个小细节,前面加了python3,表名了创建python3的虚拟环境,否则容易是2版本。
- 激活虚拟环境:source env/bin/activate
- 愉快的 pip3 install flask pymysql uwsgi
- 启动uwsgi服务:uwsgi uwsgi.ini
问题解决。