Gunicorn 启动期间出现 Python ModuleNotFoundError

siv*_*iva 5 python flask gunicorn

我想用 启动gunicorn >> gunicorn wsgi:app
但我收到一条错误消息ModuleNotFoundError: No module named 'default_config. My virtuel env is activated. I spent hours on google but couldn't find an answer. Even hints are very much appreciated.

文件夹结构:

 - App
   - flask_app
   - __init__.py
   - factory.py
   - default_config.py
- venv (virtual environment)
- wsgi.py
Run Code Online (Sandbox Code Playgroud)

__init__.py=> 为空

### wsgi.py ###
from flask_app.factory import create_app
app = create_app('development')
Run Code Online (Sandbox Code Playgroud)

### default_config.py ###
import os

basedir = os.path.abspath(os.path.dirname(__file__))

class Config:
    SECRET_KEY = 'development key'

class DevelopmentConfig(Config):
    DEBUG = True

class ProductionConfig(Config):
    DEBUG = False

config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
    }
Run Code Online (Sandbox Code Playgroud)

### factory.py ###
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from default_config import config

db = SQLAlchemy()

def create_app(config_name):
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_object(config[config_name])
    app.config.from_pyfile('config.py')

    db.init_app(app)
    return app
Run Code Online (Sandbox Code Playgroud)

moh*_*mad 3

这是因为您的 wsgi 文件默认不知道应用程序位置。您可以使用相对路径,如上面的评论,或者您可以将应用程序添加到您的环境路径。