I’m new here because I’ve just started evaluating WAMP and Autobahn for a customer’s project. I did a lot of Python programming more than a decade ago, and these days I’m a hardware and embedded systems engineer mostly, but maintain quite a lot of software.
I have searched for an answer to my query but haven’t found anything either on the web or in this group, so here I am asking it.
For historical reasons I need to be able to run Autobahn on Debian Linux ‘Squeeze’ (version 6) on ARM. The standard version of Python on this is version 2.6.6. I have successfully installed Autobahn 0.9.1 using setup.py - all that went without problems. However, when I tried to run a test program, I ran into trouble:
Traceback (most recent call last):
File “”, line 1, in
File “/usr/lib/python2.6/dist-packages/zope/interface/declarations.py”, line 496, in call
raise TypeError("Can’t use implementer with classes. Use one of "
TypeError: Can’t use implementer with classes. Use one of the class-declaration functions instead.
Looking into things a little deeper, I find that the class WrappingWebSocketAdapter in twisted/websocket.py uses the construct
The zope interface library installed on this version of Debian isn’t happy with that. Changing it to the old
after the ‘class’ line makes everything work as it should.
As far as I can tell, the @implements decorator should be supported on Python 2.6, but for some reason mine isn’t happy with it.
I don’t want to have to hack the released version of Autobahn for my customer, so what’s the right thing to do here?
is there something amiss with the Autobahn 0.9.1 distribution?
is my Python 2.6.6 just broken?
should I just move to Python 3?
Thank you all
Martin-Jones Technology Ltd
Cambridge, UK and Warsaw, Poland