Django: 如何使用pip3安装mysql/connector python

24 浏览
0 Comments

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安装到虚拟环境中?还是它应该安装到系统中而不是虚拟环境中?

0
0 Comments

问题原因:pip安装的mysql-connector版本与Django 1.8不兼容。

解决方法:从github上安装修复过的mysql-connector版本。

安装命令如下:

pip install --allow-all-external git+git://github.com/multiplay/mysql-connector-python

这个版本可以与Django 1.8兼容。

0
0 Comments

原因:根据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官方链接

0