【发布时间】:2016-03-22 15:43:55
【问题描述】:
我在 Arch Linux 上的 virtualenv 中运行 Python 3.5 上的 Python/Flask 应用程序。该应用程序由通过套接字连接到 Nginx 的 uwsgi 服务器运行。
当我执行请求时,我收到以下 uwsgi 错误:
Mar 23 02:38:19 saltminion1.local uwsgi[20720]: TypeError: 'Flask' object is not iterable
这是 uwsgi 配置使用的可调用对象:
def create_app(config=None, import_name=None):
if import_name is None:
import_name = DefaultConfig.PROJECT
app = Flask(import_name, instance_path=INSTANCE_FOLDER_PATH, instance_relative_config=True)
configure_app(app, config)
configure_database(app)
configure_logging(app)
configure_error_handlers(app)
configure_blueprints(app)
return app
当我在本地 OS X 开发工作站和 Arch/Ubuntu vagrant box 上使用内置 HTTP 服务器启动应用程序时,一切正常。
问题是:添加调试语句后,很明显错误发生在 Flask 代码本身的某个点上,而不是在我的应用程序中。如何在此处获取堆栈跟踪以更好地进行故障排除?
【问题讨论】:
-
你能显示定义你传递给
uwsgi的可调用文件的文件吗? -
更新了相关方法,如有需要我可以添加更多方法。
-
您的问题启发了我添加更多调试代码,我很快就发现了问题。谢谢这个问题!这让我重新思考了整个设置。我会添加一个答案。