jinja2无法导入名称“ select_autoescape”

时间:2018-08-07 13:53:16

标签: python cgi

我因进口问题而发疯。它应该是“简单的”,因为我有一个脚本(test2.py),其中包含此导入内容:

from jinja2 import Environment, FileSystemLoader, PackageLoader,select_autoescape

    def myfun(arg1)
       ...

       env = Environment(loader=FileSystemLoader('/var/www/html/templates'),autoescape=select_autoescape(['html', 'xml']))
       ...

请注意,此脚本test2.py由test1.py(由CGI scripr调用)调用,如下所示:

导入test2

test2.myfun(arg1)

然后我得到了错误:

from jinja2 import Environment, FileSystemLoader, PackageLoader, select_autoescape
ImportError: cannot import name 'select_autoescape'

疯狂的事情是,如果我使用这些导入(直接)调用另一个脚本:     从jinja2导入环境,FileSystemLoader,PackageLoader,select_autoescape

一切正常!确实会导入select_autoescape东西...

所以我的问题是为什么当我从另一个函数/模块调用它时,它不导入它?

1 个答案:

答案 0 :(得分:0)

尝试重新安装jinja2:

sudo pip3 install --upgrade jinja2

对我有用。