如何创建 CKAN example_theme - 它不起作用



我正在按照 http://docs.ckan.org/en/ckan-2.6.2/theming/templates.html 的教程进行操作

当然,我安装了此版本2.6.2并成功完成了默认设置。

步骤6(当我运行命令来服务时:paster serve --reload/etc/ckan/default/development.ini

我收到以下错误:

导入错误:没有名为插件的模块

我看到很多人遇到同样的错误,一定是有原因的。 请参阅链接: https://github.com/ckan/ckan/issues/3146, ckan 2.3 添加example_template插件的问题

有人对此有解决方案吗?

提前致谢

完整的堆栈跟踪:

> (default) root@videolan:/usr/lib/ckan/default/src/ckanext-example_theme# paster serve --reload /etc/ckan/default/production.ini
Starting subprocess with file monitor
Traceback (most recent call last):
  File "/usr/lib/ckan/default/bin/paster", line 11, in <module>
    sys.exit(run())
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
    invoke(command, command_name, options, args[1:])
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
    exit_code = runner.run(args)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
    result = self.command()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/serve.py", line 284, in command
    relative_to=base, global_conf=vars)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/serve.py", line 329, in loadapp
    **kw)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
    return context.create()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/ckan/default/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 "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/usr/lib/ckan/default/src/ckan/ckan/config/middleware/__init__.py", line 45, in make_app
    load_environment(conf, app_conf)
  File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 97, in load_environment
    p.load_all()
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 139, in load_all
    load(*plugins)
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 153, in load
    service = _get_service(plugin)
  File "/usr/lib/ckan/default/src/ckan/ckan/plugins/core.py", line 255, in _get_service
    return plugin.load()(name=plugin_name)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2302, in load
    return self.resolve()
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2308, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named plugin

问题是主 ckan 存储库也有一个 ckanext/example_theme(在其测试中使用(,并且它正在找到那个。那个在通常的地方没有 plugin.py,因此错误。

解决方案是使用与"example_theme"不同的名称。

有两种解决方案:

  1. 若要转换现有扩展,需要重命名其"example_theme"目录,在安装程序.py entry_points中编辑其路径,然后再次运行python setup.py develop

  2. 升级到 CKAN 2.7.X(或更高版本(并再次重新创建扩展。如果扩展目录中有任何 .pyc 文件,请将其删除。重新启动 CKAN。

最新更新