简体   繁体   中英

Flask with mod_wsgi - Cannot call my modules

I have changed my application running with flask and python2.7 from a standalone solution to flask with apache and mod_wsgi.

My Flask app (app.py) includes some classes which are in the directory below my app dir (../).

Here is my app.wsgi:

#!/usr/bin/python
    import sys
    import logging
    logging.basicConfig(stream=sys.stderr)
    sys.stdout = sys.stderr


    project_home = '/opt/appdir/Application/myapp'
    project_web  = '/opt/appdir/Application/myapp/web'


    if project_home not in sys.path:
        sys.path = [project_home] + sys.path

    if project_web not in sys.path:
        sys.path = [project_web] + sys.path

    from app import app
    application = app

Before my configuration to mod_wsgi my main call in the app.py looks like that:

# Main
    if __name__ == '__main__' :
        from os import sys, path
        sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
        from logger import Logger
        from main import Main
        from configReader import ConfigReader
        print "Calling flask"
        from threadhandler import ThreadHandler
        ca = ConfigReader()
        app.run(host="0.0.0.0", threaded=True)

I was perfectly able to load my classes in the directory below. After running the app with mod_wsgi I get the following error: global name \\'Main\\' is not defined

So how do I have to change my app that this here would work:

@app.route("/")
    def test():
       main = Main("test")
       return main.responseMessage()

Thank you for response.

Best regards Joern

thank you for responding my request. No main function call with mod_wsgi was the right answer. I do not implemented my required modules in the wsgi file, but on top of the flask app. The works fine for me ;)

Thank you and a godd new year for you all.

Best wishes Joern

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM