2011-08-24 20 views
2

我試過了這個例子:CherryPy的jsondecoder沒有找到

import cherrypy 

class Root(object): 
    @cherrypy.expose 
    @cherrypy.tools.json_out() 
    def getrange(self, limit=4): 
     return list(range(int(limit))) 

cherrypy.quickstart(Root()) 

,當我跑,我得到:

Traceback (most recent call last): 
    File "D:/Dev/BaronPOS/baronpos/Server/tester.py", line 1, in <module> 
    import cherrypy 
    File "C:\Python27\lib\site-packages\cherrypy\__init__.py", line 62, in <module> 
    from cherrypy._cpcompat import urljoin as _urljoin, urlencode as _urlencode 
    File "C:\Python27\lib\site-packages\cherrypy\_cpcompat.py", line 244, in <module> 
    json_decode = json.JSONDecoder().decode 
AttributeError: 'module' object has no attribute 'JSONDecoder' 

,我完全不知道爲什麼。我已經檢查過該模塊是否存在以及該類和兩者是否都存在。請幫忙!

+1

什麼版本的python? – jterrace

+0

它是版本2.7.1和cherrypy從CherryPy-3.2.0-py2.win32.exe安裝 –

+0

您是否安裝了simplejson?嘗試「import simplejson」 – jterrace

回答

1

好吧,我想通了。

我之前使用SimpleJSONRPCServer(http://www.freenet.org.nz/dojo/pyjson/),但決定轉向更靈活的REST兼容體系結構。

我懷疑我遺留了一個名爲json.py的神器,這是造成這個...

+0

順便說一句,我也必須刪除pyc文件... –