json_utils.dumps 突然从烧瓶中返回所有 unicode

json_utils.dumps is suddenly returning all unicode from flask

我在 centos 6.5 上有一个烧瓶应用程序 运行,今天突然开始从烧瓶响应中吐出 mongodb 文档作为所有 unicode。看起来 json_utils.dumps 似乎是罪魁祸首。

results = database.db.collection.find({}).sort('dateCreated', DESCENDING)

resp = Response(json_util.dumps(results),
                mimetype='application/json')
return resp

我的响应对象返回了一堆 unicode。我编辑了我的代码只是为了看看它是否与查询 mongodb 或 pymongo 相关,这可以很好地打印到 stdout

results = database.db.collection.find({}).sort('dateCreated', DESCENDING)
for r in results:
    current_app.logger.info(r)

然而这

results = database.db.collection.find({}).sort('dateCreated', DESCENDING)
for r in results:
    current_app.logger.info(json_utils.dumps(r))

回到将 unicode 打印到标准输出

谁能帮我弄清楚我的服务器出了什么问题以及为什么 json_utils 可能会开始这样做?我没有在连接到同一数据库 运行 相同代码的开发机器上体验过这一点。我也不记得我对此服务器进行过任何更新。直到今天早上 运行 都很好

问题出在我在这台机器上使用的 python 轮子上。我用的轮子是针对一台机器运行不同版本的centos和不同内核版本的。我用与我的部署机器匹配的正确版本加载了一台机器,重新部署了轮子并重新安装了库,问题就解决了。