2012-07-04 35 views
1

我試圖使用uwsgi的--paste選項,服務於金字塔的應用程序,但PasteDeploy拋出一個TypeError(從Python3來我猜)PasteDeploy與uwsgi使用時拋出類型錯誤

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

我剛剛在python 3.2中遇到同樣的問題。我已經暫時通過增加解決問題下面以loadwsgi.pyloadcontext

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

這裏是另外一個小背景:

def loadcontext(object_type, uri, name=None, relative_to=None, 
       global_conf=None): 
    if isinstance(uri, bytes): 
     uri = uri.decode('utf-8') 
    if '#' in uri: 
     if name is None: 
      uri, name = uri.split('#', 1) 
     else: 
      # @@: Ignore fragment or error?            
      uri = uri.split('#', 1)[0] 
+0

這一次做的伎倆,PasteDeploy不Python3友好,完全...並且似乎不再維持。 – b4stien

+0

@ b4stien我在Python 3中使用它沒有問題。你看到什麼問題? – Tshepang

+0

這個問題已經超過6/7個月了,也許python3的新版本解決了這個問題。我結束使用python2.7這個非常具體的項目。 – b4stien