Python pymysql3与django.db.backends.mysql的等价物是什么

Python pymysql3与django.db.backends.mysql的等价物是什么,python,django,Python,Django,我正在运行python33,并且已经安装了pymysql3,但是我需要在Django设置中指定什么引擎: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'chris_test', # Or pat

我正在运行python33,并且已经安装了pymysql3,但是我需要在Django设置中指定什么引擎:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'chris_test',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'some_user',
        'PASSWORD': 'some password',
        'HOST': 'some_host',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}

Django已经提供了一个MySQL后端。从PyMySQL来看,它似乎是一个通用的MySQL客户机。您不能随意使用不同的库来代替现有的Django后端;这些API将完全不兼容

有一个项目似乎是,但作者说它是实验性的,总共有5次提交,自2012年以来一直没有更新过,所以我不建议尝试使用它。

查看了解更多信息。具体来说,

'ENGINE': 'mysql_pymysql',
但这对我来说还不够。我不得不使用。如果您有一个
foo
Django应用程序,那么在'foo/init.py'中添加以下内容:

import pymysql
pymysql.install_as_MySQLdb() 

有没有理由不能使用标准的
django.db.backends.mysql
?为什么你需要Django来使用PyMySQL?因为我无法在我的Windows机器上安装MySQLdb,因为存在大量的不兼容和奇怪的概念(至少对于Windows用户而言)我必须安装一个C编译器,这样我才能使用一种应该更容易的语言。编译Python扩展需要C编译器。使用Python很容易,也很好,但并不总是很快。对于像数据库客户机这样(据说)至关重要的东西,您希望它尽可能快。抱歉,没有办法让django+python3与mysql对话。感谢您的澄清。。。但正如你从上面的评论中看到的,我真正想做的是找到一种可行的方法,因为Django抱怨我没有MySQLsb,但试图安装它只会抱怨各种各样的问题,我找不到一个MySQLdb的安装程序,它实际上可以在64位windoes上与Python33一起工作。看看。它可能有一些建议。就目前而言,MySQLdb与Python3不兼容,因此如果您想坚持使用Python3,就必须使用另一种方法。这个“答案”是毫无帮助的。它没有回答这个问题。我尝试使用Django提供的MySQL后端,但发现Python3不受支持。其他选择也有其他问题。@JohnSchmitt:我在2013年写下了这个答案;事实证明,
install_as_MySQLdb()
在当时是可用的,因此修复可能是可能的,但至少还没有编写。这看起来是正确的做法,尽管我不确定是否需要
django mysql pymysql
(自2012年以来一直没有维护)。据我所知,您应该能够按照您指出的答案中的说明进行操作。PyMySQL不是我的第一选择,但我已经开始使用Python3,现在需要一个解决方案。我有点吃惊MySQL生态系统还没有为Python 3做好准备。几年过去了,这个问题还没有解决。看起来Python3不支持MySQL(反之亦然)。我使用这个调用将pymysql安装为MySQLdb,它找到了它,然后对缺少的“cannotimportname'Thing2Literal'进行了barfs。虽然有修复,但对我来说,好的ol'mysql已经死了。