在pycharm中配置gunicorn启动web项目

在pycharm中配置gunicorn启动web项目

  1. Settings > Project Settings > Python Debugger下,勾选gevent compatible
  2. script path :选择gunicorn命令的位置 如:/usr/local/bin/gunicorn
    parameters: 启动的参数
    working directory:选择项目的所在目录
    在pycharm中配置gunicorn启动web项目正常情况下,到这里就配置完成可以正常启动了,但是我遇到了一个报错:No module named ‘gunicorn.app’;‘gunicorn’ is not a package
    在pycharm中配置gunicorn启动web项目
    一开始没有解决思路,因为直接在shell中是使用gunicorn命令是没有问题的,但是在pycharm中不行。首先确认了自己的python环境没有问题,确实安装了gunicorn。但既然报错了,肯定就是没有找到gunicorn包。

ModuleNotFoundError的终极解决方案

报错出在/usr/local/bin/gunicorn文件中,因此在这个文件中进行调试。
在pycharm中配置gunicorn启动web项目
首先要理解模块和包的区别,模块就是一个.py文件,按目录来组织模块的方法,称为包(Package)。在python中,每个包下面必须存在一个__init__.py文件,才能识别为包。这个__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是包名。

print(sys.path) 输出的是python导入模块的查找路径,这是一个数组,所以查找的优先级是从下标为0的路径开始往后。
我的问题就出在于项目中有一个gunicorn.py文件,而项目所在路径(‘root/PycharmProjects/textclassficationcnn’)在第三方安装包路径(’/usr/local/lib/python3.7/dist-packages‘)的前面,所以文件名冲突就会找不到第三方安装包gunicorn。
把第三方安装包路径强制放在最前面之后,问题可以解决,但根本的解决办法应该是将项目中的gunicorn.py文件重命名,避免冲突。

参考:https://www.cnblogs.com/qingspace/p/5284480.html
https://www.cnblogs.com/shanshan-test/p/12634660.html