flask "hello world" can not run in debug model
Question: I followed official document, installed virtualenv and flask, and then `python
hello.py` But there is something wrong：

    
    
     * Running on http://127.0.0.1:5000/
     * Restarting with reloader: inotify events
    Traceback (most recent call last):
      File "hello.py", line 9, in <module>
        app.run(debug=True)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Flask-0.7.2-py2.7.egg/flask/app.py", line 553, in run
        return run_simple(host, port, self, **options)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Werkzeug-0.7-py2.7.egg/werkzeug/serving.py", line 609, in run_simple
        run_with_reloader(inner, extra_files, reloader_interval)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Werkzeug-0.7-py2.7.egg/werkzeug/serving.py", line 528, in run_with_reloader
        reloader_loop(extra_files, interval)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Werkzeug-0.7-py2.7.egg/werkzeug/serving.py", line 436, in reloader_loop
        reloader(fnames, interval=interval)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Werkzeug-0.7-py2.7.egg/werkzeug/serving.py", line 464, in _reloader_inotify
        mask = reduce(lambda m, a: m | getattr(EventsCodes, a), mask, 0)
      File "/home/aa/prj/env/lib/python2.7/site-packages/Werkzeug-0.7-py2.7.egg/werkzeug/serving.py", line 464, in <lambda>
        mask = reduce(lambda m, a: m | getattr(EventsCodes, a), mask, 0)
    AttributeError: type object 'EventsCodes' has no attribute 'IN_DELETE_SELF'
    

my hello.py:

    
    
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return "Hello World!"
    
    if __name__ == '__main__':
        app.run(debug=True)
    

but if without debug that's ok? why? my /env/lib/python2.7/site-packages:

    
    
    distribute-0.6.10-py2.7.egg
    Jinja2-2.6-py2.7.egg
    Werkzeug-0.7-py2.7.egg
    easy-install.pth
    pip-0.7.2-py2.7.egg
    


Answer: This seems to be a bug triggered by a change in pyinotify's API, which you
must also have installed. You could remove pyinotify or use a dirty hack to
force it to use stat() instead of pyinotify. To line 496 of
`werkzeug/serving.py` try adding (below the part where it attempts to import
pyinotify):

    
    
    # dirty hack
    reloader = _reloader_stat_loop
    reloader_name = "stat() polling"
    

Make sure to also report the bug to the [werkzeug](http://werkzeug.pocoo.org/)
developers.

