我一直在讨论这个问题已经有一段时间了,而且我发现很多帖子都解决了这个问题,但似乎没有一个帖子可以帮助我(很多关于python 2.7的帖子,以及很少有关于python3的人没有使用MySQL)
我使用的是Django 1.9,Python 3.4.2,WSGI 3.4.4和MySQLClient 1.3.7
起初,我在apache日志中遇到了这个错误:
ImproperlyConfigured:加载MySQLdb模块时出错:没有名为_mysql的模块
据我所知,MySql-Python在python3上不起作用,这是安装推荐适配器的命令:
sudo apt-get install python-mysqldb
但是当我安装这个适配器时,我从apache日志中得到了这个错误:
不正确配置:加载MySQLdb模块时出错:这是MySQLdb版本(1,3,7,' final',1),但_mysql是版本(1,2,3,' final&# 39;,0)
顺便说一句,我也用pip3安装和更新了mysqlclient,但它看起来并没有做任何事情,因为我还有#34; No模块名为_mysql"安装后出错。我是否误解了某些内容,或者这只是Python3的兼容性问题?
如何安装兼容的MySQL适配器?
谢谢。
答案 0 :(得分:3)
你是正确的MySql-Python
不适用于Python 3. Django与MySQL和Python 3的推荐适配器是mysqlclient
。您的命令apt-get install python-mysqldb
正在为Python 2安装MySql-Python软件包,这在这里没有用。
您可以使用mysqlclient
安装pip
。在Ubuntu上,您应该首先安装libmysqlclient-dev
python3-dev
apt-get install libmysqlclient-dev python3-dev
然后,进入您的虚拟环境。现在您可以使用pip安装mysqlclient
。
pip install mysqlclient
如果您没有使用virtualenv(建议您这样做),那么您可以使用pip3
为Python 3全局安装它。
pip3 install mysqlclient