OSError: [Errno 10048] error while attempting to bind on address ('0.0.0.0', 8080): only one usage of e
ach socket address (protocol/network address/port) is normally permitted
我已经安装了aiohttp,并且如本教程中所述,
我试图使用运行脚本
python main.py
命令
from aiohttp import web
async def index(request):
return web.Response(text='Hello Aiohttp!')
app = web.Application()
web.run_app(app)
我收到此错误,并且不知道如何解决此问题。
感谢任何帮助
答案 0 :(得分:1)
从文档https://aiohttp.readthedocs.io/en/stable/web_reference.html#aiohttp.web.run_app中开始。您可以将端口作为
from aiohttp import web
async def index(request):
return web.Response(text='Hello Aiohttp!')
app = web.Application()
web.run_app(app, port=9090)
答案 1 :(得分:1)
问题是在8080端口号上已经在运行某些进程。 解决问题的方法有两种
sudo杀死`sudo lsof -t -i:8080`(如果您正在使用ubuntu)或
sudo kill $(sudo lsof -t -i:8080)
python -m aiohttp.web -H localhost -P 5050 package.module.init_func
package.module.init_func
应该是可导入的可调用对象,它接受任何未解析的命令行参数的列表,并在设置后返回一个Application
实例:
def init_function(argv):
app = web.Application()
app.router.add_route("GET", "/", index_handler)
return app
希望上述解决方案可能会对您有所帮助。
您可以阅读aiohttp的文档来进一步了解它。 https://aiohttp.readthedocs.io/en/v0.21.5/web.html