2015-10-13 97 views
1

我下面从2012年的视频 - GEVENT-socketio,跨框架实时网络现场演示(https://www.youtube.com/watch?v=zhh_N5pmHBYGEVENT - 导入错误:没有模块名为mako_templating

我工作在Ubuntu 15.04。

在8分钟,在初始化 .py他更正了config.add_renderer('.html', 'pyramid.mako_templating.renderer_factory')但之后,我仍然无法得到它的工作。我得到的错误如下。

任何和所有的帮助将不胜感激。

谢谢

斯特凡

(env)[email protected]:~/Code/python/3/moo/Moo$ pserve --reload development.ini 
Starting subprocess with file monitor 
Traceback (most recent call last): 
File "/home/cloud/Code/python/3/moo/env/bin/pserve", line 9, in <module> 
    load_entry_point('pyramid==1.5.7', 'console_scripts', 'pserve')() 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 58, in main 
    return command.run() 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 328, in run 
    global_conf=vars) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 363, in loadapp 
    return loadapp(app_spec, name=name, relative_to=relative_to, **kw) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp 
    return loadobj(APP, uri, name=name, **kw) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj 
    return context.create() 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create 
    return self.object_type.invoke(self) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke 
    return fix_call(context.object, context.global_conf, **context.local_conf) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call 
    val = callable(*args, **kw) 
File "/home/cloud/Code/python/3/moo/Moo/moo/__init__.py", line 10, in main 
    config.add_renderer('.html', 'pyramid.mako_templating.renderer_factory') 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/util.py", line 528, in wrapper 
    result = wrapped(self, *arg, **kw) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/config/rendering.py", line 33, in add_renderer 
    factory = self.maybe_dotted(factory) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 825, in maybe_dotted 
    return self.name_resolver.maybe_resolve(dotted) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/path.py", line 320, in maybe_resolve 
    return self._resolve(dotted, package) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/path.py", line 327, in _resolve 
    return self._zope_dottedname_style(dotted, package) 
File "/home/cloud/Code/python/3/moo/env/local/lib/python2.7/site-packages/pyramid/path.py", line 382, in _zope_dottedname_style 
    __import__(used) 
ImportError: No module named mako_templating 

回答

2

注册一个新的扩展的最简单方式被处理为在金字塔一个Mako的模板如下:

config.include('pyramid_mako') 
config.add_mako_renderer('.html') 

这将设置正确的渲染器。


真子模板从金字塔核心框架去除,因此pyramid.mako_templating.*不再存在。

+0

这固定了我的'ValueError:No such renderer factory .html'错误。我添加了这个注释,以便搜索确切的错误信息的人可以得到这个解决方案。 – NuclearPeon

0

取决于您如何安装的金字塔,还需要通过运行pip install pyramid_mako安装pyramid_mako,例如。它是一个单独的模块,不是金字塔本身的一部分。

+0

感谢您的回复。我在virtualenv中运行了pip install pyramid_mako命令,并且表示它已经安装。然后,我从外部virtualenv上运行sudo pip install pyramid_mako并得到以下内容(这是发生此事的示例,因为其他警告类似) 'cloud @ cloudnetwork:/ $ sudo pip install pyramid_mako: [...] Running setup.py安装为pyramid-mako [...] 警告:在目录'pyramid_mako'下找不到匹配'*。* _ tmpl'的文件 [012]' –

相关问题