Closed shengchenyang closed 1 year ago
出现的问题是因为 mongodb
的异步存储场景依赖 motor
实现,但是 python 3.11
移除了 coroutine decorator
而导致 motor
报错, motor
在 3.1.1
版本中才修复,但是此版本要求的 pymongo
版本大于了 3.13.0
,即在 python3.11
版本中使用 mongodb
就要拥抱 3.6
及以上版本,告别 3.4
版本了。
那我会在 pyproject.toml
中加上依赖限制,若 py 3.11
及以上使用 3.6
及以上版本的 mongo
;若 py3.11
以下版本则与目前一致,保证项目的稳定变更。
新版本 3.5.1
已修复了此问题,可以更新后使用,点击可跳转至对应 release 页面。
Describe the bug 当使用
python
版本为3.11
及以上时,运行任何任一爬虫脚本会报ImportError: cannot import name 'coroutine' from 'asyncio' (/root/.pyenv/versions/3.11.1/lib/python3.11/asyncio/__init__.py)
类似的错误。Versions (please complete the following information):
To Reproduce Steps to reproduce the behavior:
python3.11.5
环境。ayugespidertools 3.5.0
。mongodb
相关场景的脚本,或运行任一脚本即可。Expected behavior 像
python3.11
以下版本一样运行正常Screenshots 无。
Additional context 报错信息的一部分: