程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

no python application found, check your startup logs for errors錯誤解決

編輯:Python

今天在倒騰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

看到的最後一行是這樣的:

‘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’

然後將除了anaconda3之外的其他環境變量都刪掉,並修改anaconda3的內容:

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

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

回到django項目文件中,killall -s INT uwsgi 殺掉所有的uwsgi進程,uwsgi --ini uwsgi.ini 重啟uwsgi,django項目就可以正常訪問了。

查看python版本:python -V
或者是直接進入python控制台:

可以看到使用的環境已經轉變到anaconda了。
|
|
|
|


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved