Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Windows上的mysql连接器/mysqlclient和django问题_Python_Mysql_Django_Windows - Fatal编程技术网

Python Windows上的mysql连接器/mysqlclient和django问题

Python Windows上的mysql连接器/mysqlclient和django问题,python,mysql,django,windows,Python,Mysql,Django,Windows,我已经安装了mysql连接器,它已经有一个内置的sql适配器,我也不需要安装mysqlclient,因为我有mysql连接器。但当我启动python manage.py migrate时,它要求我下载mysqlclient。但是我无法安装mysqlclient。有人能帮我解决这个问题吗。谢谢 错误: File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\base.py", line 101, in

我已经安装了
mysql连接器
,它已经有一个内置的sql适配器,我也不需要安装
mysqlclient
,因为我有mysql连接器。但当我启动python manage.py migrate时,它要求我下载mysqlclient。但是我无法安装
mysqlclient
。有人能帮我解决这个问题吗。谢谢

错误:

File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\base.py", line 101, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\base.py", line 305, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\options.py", line 203, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\utils.py", line 202, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\utils.py", line 110, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Program Files (x86)\Python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\backends\mysql\base.py", line 20, in <module>
    ) from err
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\models\base.py”,第101行,新__
新建类。将类添加到类(“元”,选项(元,应用标签))
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\models\base.py”,第305行,添加到类中
值。贡献给类(cls,名称)
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\models\options.py”,第203行,在contribute\u to\u类中
self.db\u table=truncate\u name(self.db\u table,connection.ops.max\u name\u length())
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\\uuuuuu init\uuuuuu.py”,第33行,在\uuuu getattr中__
返回getattr(连接[默认\u DB\u别名],项)
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\utils.py”,第202行,在\uuu getitem中__
后端=加载\u后端(db['ENGINE'])
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\utils.py”,第110行,在load\u后端
返回导入\u模块(“%s.base”%backend\u名称)
导入模块中的文件“C:\Program Files(x86)\Python37-32\lib\importlib\\uuuuu init\uuuuuuu.py”,第127行
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“C:\Program Files(x86)\Python37-32\lib\site packages\django\db\backends\mysql\base.py”,第20行,在
)犯错误
django.core.exceptions.ImpropertlyConfigured:加载MySQLdb模块时出错。
你安装了mysqlclient吗?
用于将MySQL与python结合使用

  • mysqlclient-由文档推荐,但在Windows上安装可能很棘手
  • mysql连接器-不总是支持最新的Django版本
首先,您需要决定要使用哪个后端

如果您想使用mysql连接器,则不需要安装
mysqlclient
。您确实需要更改
数据库中的
引擎
设置以使用连接器后端

DATABASES = {
    'default': {
        'NAME': 'user_data',
        'ENGINE': 'mysql.connector.django',
        ...
    },
    ...
}
如果您进行了此更改,它将停止“您是否安装了mysqlclient”错误消息。有关使用mysql连接器的更多信息,请参阅

如果要使用
mysqlclient
,请在
数据库设置中将引擎保留为
'django.db.backends.mysql'
。在Windows上安装
mysqlclient
可能很棘手,您有几个不同的选项:

  • 安装官方车轮。截至2018年12月,针对Python 3.6和Python 3.7的最新版本mysqlclient 1.3.14已经推出。使用以下内容安装mysqlclient:

    pip install mysqlclient==1.3.14
    
  • 安装其中一个。这将允许您使用Python3.7和更新版本的mysqlclient
  • 从源代码安装mysqlclient。这在Windows上可能很棘手,我不能提供任何关于如何做到这一点的提示

  • 可能您需要安装mysql-connector-c connector,然后:

    pip install mysqlclient==1.3.13
    

    当你修改的时候,我有两个视图,它有点复杂,所以我不得不重新编辑它。但是谢谢。我收到一个错误:无法满足版本要求。我使用的是python 3.7.1、pip 18.0和django 2.1。您能从settings.py文件中显示数据库设置吗?