Django: 如何使用pip3安装mysql/connector python
Django: 如何使用pip3安装mysql/connector python
我正在基于Django 1.7和Python 3.4的项目上工作。然而,我在使用pip3安装MySQL/Connector Python时遇到了问题。\n根据这个文档,MySQL/Connector Python支持Python 3。以前我使用命令pip install MySQL-python
在Python中安装MySQL-python。\n这个下载页面只提供.deb文件用于在Ubuntu上安装(顺便提一下,安装还有冲突问题)。\n我尝试使用以下命令进行安装:\n
pip3 install mysql-connector-python --allow-external mysql-connector-python
\n没有错误信息。但是当我运行Django应用程序时,我得到以下错误信息:\n
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
\n问题:\n那么,我应该如何使用pip3将MySQL/Connector Python安装到虚拟环境中?还是它应该安装到系统中而不是虚拟环境中?
原因:根据Django的官方文档,原生的MySQLdb驱动不支持Python 3,因此需要寻找其他解决方案。
解决方法:有两种解决方法可供选择。
第一种方法是使用一个支持Python 3的mysqldb分支。可以通过阅读其Github仓库了解如何在系统中安装。对于Ubuntu系统,可以使用apt-get install python-mysqldb
命令进行安装。
第二种方法是使用MySQL Connector。可以通过pip install mysql-connector-python --allow-external mysql-connector-python
命令在虚拟环境中进行安装。然后阅读MySQL Connector的文档,并修改settings.py
文件,使其如下所示:
DATABASES = { 'default': { 'NAME': 'user_data', 'ENGINE': 'mysql.connector.django', 'USER': 'mysql_user', 'PASSWORD': 'priv4te', 'OPTIONS': { 'autocommit': True, }, } }
请注意,连接器的值为mysql.connector.django
。
另外,如果安装了Python-mysqldb但仍然无法正常工作,可以尝试使用mysqlclient。更多信息可以参考这个Stack Overflow链接。
最后,需要注意的是:mysql-connector-python
版本>= 8.0.13存在一个bug,导致无法与Django正常工作。可以通过将'use_pure': True
添加到'OPTIONS'
中来解决这个问题。更多信息可以参考这个Django官方链接。