Python Flask Gunicorn配置说“从flask_ckeditor导入CKEditor,CKEditorField ImportError:没有名为flask_ckeditor的模块”

问题描述 投票:-1回答:1

我正在使用python 3.7环境,flask框架以及最新的ckeditor 5,实际上,我可以使用以下命令在localhost中顺利运行它,而不会出现任何错误:python script.py。但是当涉及到gunicorn配置时,gunicorn --bind 0.0.0.0:5000 wsgi:app我遇到了这个错误:“从flask_ckeditor导入CKEditor,CKEditorFieldImportError:没有名为flask_ckeditor的模块”,我真的不知道该怎么办,希望有人能帮助我。

这里是代码:

import os
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import create_engine, Column, Integer, String, Sequence
from sqlalchemy.ext.declarative import declarative_base
from flask import Flask
import hashlib
from flask_wtf import FlaskForm
from flask_wtf import Form
from wtforms import StringField, PasswordField, BooleanField
from wtforms.validators  import InputRequired, Email, Length
from flask_bootstrap import Bootstrap
from flask_jwt_extended import JWTManager
from flask_ckeditor import CKEditor, CKEditorField
db = SQLAlchemy()
jwt = JWTManager()

ckeditor = CKEditor()
def create_app(config_type): # dev, test, prod

    # create flask instance
    app = Flask(__name__)
    app.config['CKEDITOR_SERVE_LOCAL'] = True
    app.config['CKEDITOR_HEIGHT'] = '800px'
    app.config['CKEDITOR_WIDTH'] = '800px'
    ckeditor.init_app(app)
    #app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:postgres@localhost/catalog_db'

    # setup configuration
    configuration = os.path.join(os.getcwd(), 'config', config_type + '.py')

    # load configuration from file
    app.config.from_pyfile(configuration)

    # attach flask to db instance(SQLALCHEMY)
    db.init_app(app)

    #attach flask to jwt
    jwt.init_app(app)
    Bootstrap(app)
    # import blueprints
    # inside app thats why app.catalog

    from sales_tracking.api import api 
    from sales_tracking.api.get_api import get_api
    from sales_tracking.api.get_api.get_all import get_all
    from sales_tracking.api.post_api import post_api
    from sales_tracking.api.post_api.authentications import authentications
    from sales_tracking.api.post_api.bad_orders import bad_orders
    from sales_tracking.api.post_api.box import box
    from sales_tracking.api.post_api.breaktime import breaktime
    from sales_tracking.api.post_api.change_dayoff import change_dayoff
    from sales_tracking.api.post_api.check_in import check_in
    from sales_tracking.api.post_api.check_in_monitoring import check_in_monitoring
    from sales_tracking.api.post_api.competitors_act import competitors_act
    from sales_tracking.api.post_api.competitors_promotion import competitors_promotion
    from sales_tracking.api.post_api.confirmation_promotion_store import confirmation_promotion_store
    from sales_tracking.api.post_api.confirmation_change_dayoff import confirmation_change_dayoff
    from sales_tracking.api.post_api.confirmation_leave import confirmation_leave
    from sales_tracking.api.post_api.confirmation_overtime import confirmation_overtime
    from sales_tracking.api.post_api.daily_stocks import daily_stocks
    from sales_tracking.api.post_api.facings import facings
    from sales_tracking.api.post_api.leave import leave
    from sales_tracking.api.post_api.logs_folder import logs_folder
    from sales_tracking.api.post_api.mcp import mcp
    from sales_tracking.api.post_api.mcp_adjustment import mcp_adjustment
    from sales_tracking.api.post_api.nex import nex
    from sales_tracking.api.post_api.planograms import planograms
    from sales_tracking.api.post_api.product_discrepancy import product_discrepancy
    from sales_tracking.api.post_api.confirmation_product_discrepancy import confirmation_product_discrepancy
    from sales_tracking.api.post_api.promotions import promotions
    from sales_tracking.api.post_api.request_overtime import request_overtime
    from sales_tracking.api.post_api.rtv_pullout_and_create import rtv_pullout_and_create
    from sales_tracking.api.post_api.shelf_availability import shelf_availability
    from sales_tracking.api.post_api.stock_transfer import stock_transfer
    from sales_tracking.api.post_api.tc import tc
    from sales_tracking.api.post_api.tcp import tcp
    from sales_tracking.api.post_api.team_attendance import team_attendance
    from sales_tracking.api.post_api.update_position import update_position
    from sales_tracking.api.post_api.sync_all import sync_all
    from sales_tracking.web import web_initials
    #reegister blueprint
    app.register_blueprint(api)
    app.register_blueprint(get_api)
    app.register_blueprint(get_all)
    app.register_blueprint(post_api)
    app.register_blueprint(bad_orders)
    app.register_blueprint(authentications)
    app.register_blueprint(box)
    app.register_blueprint(breaktime)
    app.register_blueprint(change_dayoff)
    app.register_blueprint(check_in)
    app.register_blueprint(check_in_monitoring)
    app.register_blueprint(competitors_act)
    app.register_blueprint(competitors_promotion)
    app.register_blueprint(confirmation_promotion_store)
    app.register_blueprint(confirmation_change_dayoff)
    app.register_blueprint(confirmation_leave)
    app.register_blueprint(confirmation_overtime)
    app.register_blueprint(daily_stocks)
    app.register_blueprint(facings)
    app.register_blueprint(leave)
    app.register_blueprint(logs_folder)
    app.register_blueprint(mcp)
    app.register_blueprint(mcp_adjustment)
    app.register_blueprint(nex)
    app.register_blueprint(planograms)
    app.register_blueprint(product_discrepancy)
    app.register_blueprint(promotions)
    app.register_blueprint(request_overtime)
    app.register_blueprint(rtv_pullout_and_create)
    app.register_blueprint(shelf_availability)
    app.register_blueprint(stock_transfer)
    app.register_blueprint(tc)
    app.register_blueprint(tcp)
    app.register_blueprint(team_attendance)
    app.register_blueprint(update_position)
    app.register_blueprint(web_initials)
    app.register_blueprint(confirmation_product_discrepancy)
    app.register_blueprint(sync_all)
    return app
python python-3.x flask ckeditor
1个回答
0
投票

对于其他遇到这种奇怪问题的人。请在安装pip时使用python env,这可能会解决此问题。

[Python核心开发人员之一在博客上写的很好,为什么您应该使用python -m pip而不是pip来阅读here

© www.soinside.com 2019 - 2024. All rights reserved.