Search code examples
pythonpython-3.5aiohttp

An integer is required


I'm new in Python 3. I use aiohttp module for Python 3.5. When I run my project, I have a following error

TypeError: an integer is required (got type str) 

The stack-trace is:

Traceback (most recent call last):
  File "/home/santi/tesis/tanner/server.py", line 82, in <module>
    srv = loop.run_until_complete(f)
  File "/usr/lib/python3.5/asyncio/base_events.py", line 373, in run_until_complete
    return future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/asyncio/tasks.py", line 240, in _step
    result = coro.send(None)
  File "/usr/lib/python3.5/asyncio/base_events.py", line 949, in create_server
    sock.bind(sa)

The code is:

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    f = loop.create_server(
        lambda: HttpRequestHandler(debug=False, keep_alive=75),'0.0.0.0','8090')
    srv = loop.run_until_complete(f)
    print('serving on', srv.sockets[0].getsockname())
    try:
        loop.run_forever()
    except KeyboardInterrupt:
        pass
  • What is the error in my code?
  • What am I doing wrong?

Solution

  • The port number should be an Integer:

    f = loop.create_server(
        lambda: HttpRequestHandler(debug=False, keep_alive=75), '0.0.0.0', 8090)