今天在部署sanic项目的时候报了如下错误:
Traceback (most recent call last):
File "F:/python/tortoise_demo/demo.py", line 5, in <module>
jinja = SanicJinja2(app)
File "D:\python375\Envs\test\lib\site-packages\sanic_jinja2\__init__.py", line 95, in __init__
self.init_app(app, loader, pkg_name or app.name, pkg_path)
File "D:\python375\Envs\test\lib\site-packages\sanic_jinja2\__init__.py", line 120, in init_app
pkg_name or app.name, pkg_path or "templates"
File "D:\python375\Envs\test\lib\site-packages\jinja2\loaders.py", line 286, in __init__
spec = importlib.util.find_spec(package_name)
File "d:\python375\lib\importlib\util.py", line 114, in find_spec
raise ValueError('{}.__spec__ is None'.format(name))
ValueError: __main__.__spec__ is None
我的版本是
sanic 21.6.0
sanic-jinja2 0.10.0
jinja2 3.0.1
通过一番尝试之后定位到错误是发生在jinja2的版本问题。
可能是jinja2 3.0版本和其他组件兼容性不合适,将jinja2降到我之前可以运行的机器的版本2.11.2即可正常运行。
解决方案:将jinja2降到2.X版本即可我是2.11.2你也可以尝试一下
字体放大给没有时间的小伙伴看一下。
欢迎关注本站,可以在评论区发表你的看法,一起交流学习哦!