当我尝试调试我创建的扩展时,我收到以下错误。我是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'
答案 0 :(得分:0)
要开发扩展,您需要完成CKAN的源安装。假设你已经这样做了,你就可以将Repoze python模块放到Python虚拟环境中了:
{pyenv}/lib/python2.7/site-packages/repoze
要让Python找到Repoze等,您需要“激活”此环境。 CKAN source install instructions使用建议的环境位置/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))