2011-07-25 10 views
5

を実行することはできません私は、公式文書、インストールvirtualenvの、フラスコを踏襲し、その後python hello.py しかし、何か問題があります:フラスコの "Hello World" は、デバッグモデルで

* 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' 

私hello.pyは:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return "Hello World!" 

if __name__ == '__main__': 
    app.run(debug=True) 

デバッグなしであれば問題ありませんか?どうして? 私/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 

答えて

5

これはあなたにもインストールしておく必要がありpyinotifyのAPIの変更によってトリガーバグ、のようです。 pyinotifyを削除するか、汚れたハックを使って、pyinotifyの代わりにstat()を使用するようにすることができます。 (それはpyinotifyをインポートしようとした部分の下に)追加496 werkzeug/serving.pyの試みの行に:

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

werkzeug開発者にバグを報告することを確認します。

+3

いいえ、それはwerkzeug 0.7.1で修正されます。 IPythonにも同様の問題がありました。 – plaes

+0

これは参考になりました。ありがとうございます! – dormouse