近期在努力把自己的项目从python2转到python3上,因为生产环境无法抛弃centos7,所以只好在centos7上安装了python3。装好了python3,将python命令软连接改成python3的,同时也将pip指向了python3版本的pip。一切都很顺利,但在用uwsgi启动一个django的web服务时才发现出了问题:服务是启动了,但是一访问接口就返回500,再一看uwsgi这边的日志,显示:no python application found 。

nginx+uwsgi+django的模式在之前多次配过,都没有出现问题啊,为啥一到了python3的环境下就出问题了?我的环境应该配置得差不多了啊,而且所有的模块也都是在python3的环境下装的啊。

再次检查了我的配置文件:

[uwsgi]
socket = 127.0.0.1:3031
chdir = /opt/testproj/
wsgi-file = testproj/wsgi.py
processes = 4
threads = 2

感觉也没有啥问题啊。于是又开始仔细查看uwsgi这边输出的日志,再往前看看,才看到了这么个报错:

*** Operational MODE: preforking+threaded ***
Traceback (most recent call last):
File "testproj/wsgi.py", line 12, in <module>
from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***

没有找到django模块?原来成功启动只是一个假象,实际上现在uwsgi没找到django这个模块,一提供服务肯定就500了。

但是为啥会没有找到django模块呢?uwsgi和django都是用python3的pip来装的啊,虽然这个centos7上还有python2,但也只是为了让yum还能正常使用而保留的啊。

在网上一顿找,才发现,uwsgi还真是有点特殊,在python2和python3共存的系统上就会有点问题,这次启动时无法找到django模块是因为uwsgi命令使用python2的环境来进行了启动。需要在配置文件中指定所需要的库环境才可以。

于是开始找django的环境,使用pip show可以看到django安装的location:

[root@knktc testproj]# pip show django|grep -i location
Location: /usr/local/lib64/python3.6/site-packages

顺便把pytz的路径也找下:

[root@knktc testproj]# pip show pytz|grep -i location
Location: /usr/local/lib/python3.6/site-packages

把这两个路径使用pythonpath参数加入到配置文件中,修改后的uwsgi配置文件是下面的这个样子的:

[uwsgi]
socket = 127.0.0.1:3031
chdir = /opt/testproj/
wsgi-file = testproj/wsgi.py
processes = 4
threads = 2
pythonpath = /usr/local/lib64/python3.6/site-packages
pythonpath = /usr/local/lib/python3.6/site-packages

再启动一次试试:

uwsgi --ini uwsgi.ini

一切正常!

uwsgi no python application found错误的解决(python3+centos6)的更多相关文章

  1. Python: The _imagingft C module is not installed错误的解决

    Python: The _imagingft C module is not installed错误的解决 By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明 ...

  2. 关于Python打开IDLE出现错误的解决办法

    安装好python,打开IDLE出现以下错误: 解决办法: 修改[Python目录]\Lib\idlelib\PyShell.py文件,在1300行附近,将def main():函数下面use_sub ...

  3. 编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下   开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...

  4. Python编程的10个经典错误及解决办法

    接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的.下面,严小样儿为大家罗列出Python3十大经典错误及 ...

  5. 运行bee run之后出现的错误以及解决方法Failed to build the application:

      运行bee run之后出现的错误以及解决方法 创建一个beego项目 bee new myapp 在该项目执行下面的代码 bee run 出现的问题 2020/04/22 21:12:07 INF ...

  6. 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。

    执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...

  7. Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器

    一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...

  8. Invalid Binary错误怎么解决

      Invalid Binary错误怎么解决? 本文永久地址为http://www.cnblogs.com/ChenYilong/p/3989829.html ,转载请注明出处. iOS8升级过程中, ...

  9. Oracle的常见错误及解决办法

    ORA-12528: TNS:listener: all appropriate instances are blocking new connections ORA-12528问题是因为监听中的服务 ...

随机推荐

  1. Excel-基本操作

    一.EXCEL的数据类型 1.字符型 2.数值型 3.日期型数据和时间型数据 二.快捷键 ctrl+上下左右健 快速选择某区域  上下左右单元格 ctrl+shift+上下左右 快速选择某个取悦 三. ...

  2. docker--发布docker镜像

    前戏 前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了 发布到docker hub 我们前面使用docker search 查找的镜像都是从docker h ...

  3. [LeetCode] 738. Monotone Increasing Digits 单调递增数字

    Given a non-negative integer N, find the largest number that is less than or equal to N with monoton ...

  4. copy running-config startup-config 与 copy startup-config running-config

    1.copy running-config startup-config 与 copy startup-config running-config 两者有什么不同???ANS:running-conf ...

  5. Zuul的使用,路由访问映射规则

    一.Zuul的介绍 Zuul包含了对请求的路由和过滤两个最主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实力上,是实现外部访问统一入口基础而过滤器功能则负责对请求的处理过程进行干预,是实现 ...

  6. ping不通服务器的解决方法

    参考腾讯云的解决办法: https://cloud.tencent.com/document/product/213/14639#CheckOSSetting 我的服务器是aws的, 解决方法大同小异 ...

  7. kafka压测

    原文并未提及kafka的版本 并且测试的消息大小都偏小  测试数据供参考 原文还测试了broker等    原文请移步文章末尾 4.1 producer测试 4.1.1 batch-size 测试结果 ...

  8. openresty nginx systemtap netdata

    https://openresty.org/cn/getting-started.html https://github.com/openresty https://github.com/openre ...

  9. POJ 1306 暴力求组合数

    Combinations Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11049   Accepted: 5013 Des ...

  10. 局域网Linux机器中病毒简单处理 .aliyun.sh 挖矿病毒 ---不彻底

    1. 昨天晚上同事打电话给我说自己的服务器上面的redis无故被清空了,并且查看aof 日志有很多 wget和write指令 一想就是大事不好.局域网中病毒了.. 2. 今天早上到公司忙完一阵简单看了 ...