导入某些模块会抑制Flask控制台输出

时间:2013-02-21 08:25:32

标签: python flask output eyed3

我正在Flask中编写一个应用程序,它包含两个文件app.pytags.pyapp.py导入tags.py,后者又包含from eyed3 import loadEyed3是一个从模块中提取mp3标签的Python模块。出于某种原因,导入Eyed3会抑制Flask的控制台输出。通常在使用python app.py启动Flask时返回:

* Running on http://127.0.0.1:17000/

导入Eyed3时,不会显示此行。无论是import eyed3还是from eyed3 import load,还是导入都在app.pytags.py,或者Flask启用/关闭调试模式都没关系。我甚至试图运行

import sys
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

在导入之后或app.run()之前,没有成功。为什么以及如何导入模块隐藏控制台输出?我怎样才能恢复它?

编辑:导入顺序无关紧要。没有任何反应,如果我在Flask之前导入Eyed3,错误仍然存​​在。是否与this line of code有关?

1 个答案:

答案 0 :(得分:2)

我愿意打赌它与EyeD3在此文件中执行的日志记录操作有关:https://bitbucket.org/nicfit/eyed3/src/97905ecfcd6c8f8df0349582b90258b154e583b5/src/eyed3/utils/log.py?at=default