Ошибка при запуске примера spyne в Windows

#spyne

#spyne

Вопрос:

Я попытался запустить пример spyne. Этот же пример работает в Linux, но в Windows выдает следующую ошибку-

   File "helloWorld.py", line 14, in <module>
    class HelloWorldService(ServiceBase):
  File "helloWorld.py", line 15, in HelloWorldService
    @srpc(Unicode, Integer, _returns=Iterable(Unicode))
NameError: name 'srpc' is not defined
  

У кого-нибудь есть решение??

Ответ №1:

Этот пример неверен. Вот правильная версия:

 import logging
logging.basicConfig(level=logging.DEBUG)

from spyne import Application, rpc, ServiceBase, 
    Integer, Unicode

from spyne import Iterable

from spyne.protocol.http import HttpRpc
from spyne.protocol.json import JsonDocument

from spyne.server.wsgi import WsgiApplication


class HelloWorldService(ServiceBase):
    @rpc(Unicode, Integer, _returns=Iterable(Unicode))
    def say_hello(ctx, name, times):
        for i in range(times):
            yield 'Hello, %s' % name


application = Application([HelloWorldService],
    tns='spyne.examples.hello',
    in_protocol=HttpRpc(validator='soft'),
    out_protocol=JsonDocument()
)


if __name__ == '__main__':
    # You can use any Wsgi server. Here, we chose
    # Python's built-in wsgi server but you're not
    # supposed to use it in production.
    from wsgiref.simple_server import make_server
    wsgi_app = WsgiApplication(application)
    server = make_server('0.0.0.0', 8000, wsgi_app)
    server.serve_forever()
  

Я также исправил код на http://spyne.io . Извините за это и большое спасибо за то, что довели проблему до моего сведения.