【问题标题】:jinja2 cannot import name 'select_autoescape'jinja2 无法导入名称“select_autoescape”
【发布时间】:2019-01-14 15:29:28
【问题描述】:

我被一个导入问题发疯了。它应该是“简单的”,因为我有一个脚本(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 脚本调用)调用:

导入测试2

test2.myfun(arg1)

然后我得到错误:

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

疯狂的是,如果我(直接)使用这些导入调用另一个脚本: from jinja2 import Environment, FileSystemLoader, PackageLoader,select_autoescape

一切顺利!它确实导入了 select_autoescape ...

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

【问题讨论】:

    标签: python cgi


    【解决方案1】:

    尝试重新安装 jinja2:

    sudo pip3 install --upgrade jinja2
    

    它对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-17
      • 2022-06-19
      • 1970-01-01
      • 2022-12-17
      • 2017-04-11
      • 2020-02-05
      • 2011-07-11
      相关资源
      最近更新 更多