当我尝试调试我创建的扩展时,出现以下错误。我对CKAN很陌生。我正在尝试学习如何开发 CKAN 扩展。
似乎“repoze”模块没有被加载。这是python路径问题吗?这个模块应该在哪里存在?
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1815, in declare_namespace
path = sys.modules[parent].__path__
KeyError: 'repoze'
当我尝试调试我创建的扩展时,出现以下错误。我对CKAN很陌生。我正在尝试学习如何开发 CKAN 扩展。
似乎“repoze”模块没有被加载。这是python路径问题吗?这个模块应该在哪里存在?
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1815, in declare_namespace
path = sys.modules[parent].__path__
KeyError: 'repoze'
要开发扩展,您需要完成 CKAN 的源代码安装。假设您已经这样做了,您将把 Repoze python 模块放入 Python 虚拟环境中:
{pyenv}/lib/python2.7/site-packages/repoze
为了让 Python 找到 Repoze 等,您需要“激活”这个环境。CKAN源代码安装说明描述了所有这些,但这里是相关位,使用建议的环境位置/usr/lib/ckan/default
。
对于命令行程序:
. /usr/lib/ckan/default/bin/activate
或者对于 python 程序,使用这个可执行文件运行它:
/usr/lib/ckan/default/bin/python
或者对于 apache 部署,指定环境是 WSGI 脚本文件的这一部分:
activate_this = os.path.join('/usr/lib/ckan/default/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))