与uwsgi一起使用时,PasteDeploy抛出TypeError

时间:2012-07-04 16:44:15

标签: python python-3.x pyramid uwsgi

我正在尝试使用uwsgi的--paste选项来服务金字塔应用程序,但是PasteDeploy正在抛出一个TypeError(我猜想来自Python3)

File "/home/admin/.mozaiqu.es.env/lib/python3.2/site-packages/paste/deploy/loadwsgi.py", line 277, in loadcontext
    if '#' in uri:
TypeError: Type str doesn't support the buffer API

我正在使用的命令:

uwsgi --paste development.ini --socket :3031 -H /home/admin/.mozaiqu.es.env

我认为PasteDeploy和uwsgi是Python3友好的,它们不是吗?

我做错了吗?

2 个答案:

答案 0 :(得分:2)

我刚刚在python 3.2中遇到了同样的问题。我已通过将以下内容添加到loadcontext的{​​{1}}来暂时解决了该问题:

loadwsgi.py

这是一个带有一点背景的补充:

if isinstance(uri, bytes):
    uri = uri.decode('utf-8')

答案 1 :(得分:1)

请参阅Python 3.0 urllib.parse error "Type str doesn't support the buffer API"

它解释了您所遇到的错误,只是在不同的背景下。 该错误基本上是python 3.x中的一个错误。字节字符串和unicode字符串之间的网格存在问题,因此会出现几个错误。上面帖子中的第一个答案更清晰地解释了它。