预告:该问题会在下个版本的 Airtest 中修复,同学们可以关注我们后续的发版信息!
最近有很多同学在使用 python3.9 安装 Airtest 运行自动化脚本的时候,会遇到一个跟 jinja2 这个库有关的报错,导致脚本报错无法正常运行,类似下述这样:
ImportError: cannot import name 'evalcontextfilter' from 'jinja2' (C:\Program Files\Python37\lib\site-packages\jinja2\__init__.py)
这是因为同学们安装了高版本的 jinja2 导致的,例如 3.x 版本等,我们可以将其卸载,然后重新安装 2.x 的版本,例如:
pip uninstall Jinja2
pip install Jinja2==2.10.1
大部分同学可以通过降版本解决,但是也有部分同学降版本后,会遇到另外一个库 “markupsafe” 的报错,类似下述:
cannot import name 'soft_unicode' from 'markupsafe' (E:\Python3.8\lib\site-packages\markupsafe\__init__.py)
同上,也是由于 markupsafe 过高导致的,我们可以卸载掉,再安装一个低版本的:
pip uninstall MarkupSafe
pip install MarkupSafe==1.1.1
通常降低上述 2 个库的版本之后,就能够正常运行 Airtest 脚本了,如同学们还遇到别的问题,可以在这里给我们快速提单:https://airtest.netease.com/issue_create 。