• no python application found, check your startup logs for errors错误解决


    今天在倒腾django项目的时候突然遇到一个bug,一开始报的是内部服务器错误:“Internal Server Error”,此时服务器的状态是Nginx开启了8000端口,uWSGI服务也在启动中,然后开始排查,首先从Nginx下手,逐行检查Nginx配置没问题后,又重新启动了一下,结果还是这样的问题,看来跟Nginx没有关系;然后开始找uwsgi配置的问题,无论是修改socket端口还是增加module参数,都无法解决问题,但是如果关闭uwsgi的话,会报”502 Bad Gateway“的错误,而这个错误代表nginx反向代理配置成功,但是对应的uWSGI未启动,所以也排除uWSGI配置的问题。。。。。。。
    这时候才意识到查看uwsgi.log日志,于是 sudo vim uwsgi.log 走起,果然看到了报错信息:
    在这里插入图片描述

    no python application found, check your startup logs for errors
    翻译是:找不到python应用程序,请检查启动日志中的错误

    结合最上面的“No module named django”,看来应该是python环境的问题,因为我在服务器中安装的有anaconda版本的python3,里面是有django这些模块的,而我启动的django服务应该是用了服务器自带的python2,所以下一步就是修改python的环境变量了。
    一开始我用的是 sudo vim /etc/profile ,在文件末尾添加一行:
    export PATH=/home/xxx/anaconda3/bin:$PATH
    然后更新一下:source /etc/profile
    但是这样没有效果

    期间也尝试过删除python2 和 添加软连接,如下:

    sudo ln -sf /home/xxx/anaconda3/bin/python /usr/bin/python

    不过还是没能改变服务器的默认python环境

    然后又尝试另一种方法修改环境变量:

    vi ~/.bashrc
    
    • 1

    看到的最后一行是这样的:

    ‘export PATH=/home/xxx/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    • 1

    然后将除了anaconda3之外的其他环境变量都删掉,并修改anaconda3的内容:

    ‘export PATH=/home/xxx/anaconda3/bin:$PATH’
    
    • 1

    最后保存退出,再更新一下:source ~/.bashrc

    回到django项目文件中,killall -s INT uwsgi 杀掉所有的uwsgi进程,uwsgi --ini uwsgi.ini 重启uwsgi,django项目就可以正常访问了。

    查看python版本:python -V
    或者是直接进入python控制台:
    在这里插入图片描述
    可以看到使用的环境已经转变到anaconda了。
    |
    |
    |
    |

  • 相关阅读:
    Seata概述
    六石管理学:垃圾场效应:工作不管理,就会变成垃圾场
    vue父子组件传值与兄弟传值的注意点
    第 40 章 呼吸灯与 SPWM 波
    java高级编程day23【谷】
    tensorflow卷积层操作
    git 后悔药
    一篇五分生信临床模型预测文章代码复现——Figure 2. 生存分析,箱线图表达改变分析(二)
    短视频seo矩阵系统源码开发搭建--代用户发布视频能力
    shell——sed工具
  • 原文地址:https://blog.csdn.net/weixin_44346972/article/details/125531581