我已经在全局包中安装了Flask,Babel和Flask-Babel。在运行python时,我输入了以下内容,没有错误
>>> from flaskext.babel import Babel
>>>在虚拟环境中,启动python并输入我看到的相同命令
>>> from flaskext.babel import Babel
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named flaskext.babel
>>>问题是,我使用的是忍者-IDE,显然我被迫使用了一个虚拟环境。我不介意,只要它不打破烧瓶包装系统。
发布于 2012-12-24 23:24:11
嗯!我解决了这个问题!
在babel.py文件旁边的全局Lib/site- _init_py /flaskext中创建一个空的包可以解决这个问题。
从本地环境导入Babel现在可以像预期的那样工作,也可以在全局环境中工作。
我们可以使用从flaskext.babel导入巴别塔和从babel.ext.babel导入巴别塔的两个表单。但是,表单*从flask_babel导入巴别塔*或*导入flask_babel*不起作用。
请注意,我在64位Windows 7上运行,Python 2.7位于C:\Python27中。在unix计算机上,缺少init.py文件可能不是问题。
发布于 2012-12-23 19:23:16
我认为你应该像下面这样从0.8版本开始导入Flask扩展:
from flask.ext.babel import Babel我尝试了旧的方法(import flaskext.babel),它对我也不起作用。
发布于 2012-12-23 21:34:21
导入Flask扩展的旧方法如下:
import flaskext.babel然而,Namespace packages“对每个人来说都太痛苦了”,所以现在Flask扩展应该是可导入的,就像:
import flask_babelflask.ext是一个特殊的包。如果你使用import flask.ext.babel,它将尝试上述两个变体,所以它在任何情况下都应该可以工作。
https://stackoverflow.com/questions/14004839
复制相似问题