我因进口问题而发疯。它应该是“简单的”,因为我有一个脚本(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东西...
所以我的问题是为什么当我从另一个函数/模块调用它时,它不导入它?
答案 0 :(得分:0)
尝试重新安装jinja2:
sudo pip3 install --upgrade jinja2
对我有用。