我正在尝试使用弹性beantalk来运行asyncio python应用程序。 弹性beantalk似乎正在运行python 3.6.5。
尝试使用asyncio中的suresure_future时出现错误:
module 'asyncio' has no attribute 'ensure_future'
我还尝试了“从asyncio import sure_future”并得到导入错误。
我尝试使用.ebextensions强制升级asyncio。 还尝试使用requirements.txt强制将asyncio强制为我知道可与我的应用程序一起使用的版本(asyncio == 3.4.3),但两者均无济于事。
也尝试过
try:
from asyncio import ensure_future
except ImportError:
from asyncio import async as ensure_future
然后我在调用sure_future时遇到错误:
Traceback (most recent call last):
File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File
"main_async_tasks_crawler.py", line 96, in main
asyncio.get_event_loop().run_until_complete(ensure_future(async_main()))
File "/opt/python/run/venv/local/lib/python3.6/site-packages/asyncio/tasks.py", line 516, in async
raise TypeError('A Future or coroutine is required')
TypeError: A Future or coroutine is required
我的参数(async_main())是一个异步函数。
此刻我没主意
答案 0 :(得分:2)
asyncio
是Python3.6标准库的一部分,您不能通过pip安装它。
asyncio == 3.4.3确实很老,那时还没有“异步功能”之类的东西,所以它不知道如何使用它们。