CKAN 2.7.3安装dataproxy扩展连接MySQL报错:No module named MySQLdb
解决CKAN 2.7.3 dataproxy扩展的MySQLdb缺失问题
我之前帮不少用户搞定过CKAN 2.7.x搭配dataproxy的MySQL依赖坑,你遇到的No module named MySQLdb本质就是CKAN的Python虚拟环境里缺了MySQL的Python驱动,按下面的步骤一步步来就能解决:
第一步:激活CKAN的虚拟环境
CKAN默认跑在独立的Python虚拟环境里,所有依赖必须装在这个环境里才会被CKAN识别。执行命令激活(如果你的虚拟环境路径不是默认的,替换成自己的路径就行):source /usr/lib/ckan/default/bin/activate第二步:安装系统级依赖库
MySQLdb需要系统的MySQL开发头文件和库才能编译安装,在Debian/Ubuntu系统下执行:sudo apt-get update && sudo apt-get install python-dev libmysqlclient-dev -y第三步:在虚拟环境中安装MySQL-python(即MySQLdb)
激活虚拟环境后,用pip安装官方的MySQLdb包:pip install MySQL-python如果安装时出现编译错误,也可以换个方式:直接装系统包再链接到虚拟环境
sudo apt-get install python-mysqldb -y ln -s /usr/lib/python2.7/dist-packages/MySQLdb/ /usr/lib/ckan/default/lib/python2.7/site-packages/MySQLdb第四步:验证安装并重启CKAN服务
激活虚拟环境后,运行Python命令验证模块是否正常:python -c "import MySQLdb; print('MySQLdb installed successfully')"如果没报错,就重启CKAN的Web服务(比如Apache):
sudo service apache2 restart最后检查dataproxy配置
确保你的ckan.ini文件里已经正确启用了dataproxy插件:ckan.plugins = ... dataproxy ...(注意别漏掉其他已启用的插件,只需要把
dataproxy加到列表里就行)
做完这些步骤后,再去添加Database Proxy Explorer视图,应该就不会再弹出No module named MySQLdb的错误了。
内容的提问来源于stack exchange,提问作者Adrián Luque Montoya
相关产品推荐
相关产品推荐

