' ModuleNotFoundError:没有名为' MySQLdb'在Django

时间:2017-11-25 21:44:54

标签: django mysql-python python-3.6

在django中创建我的第一个模块,

我正在使用mac尝试的步骤:

1.installed python 3.6。+ version,

2.cloned git project

3.setup local env,

to create a module, 
trying with command 
 env=dev python3 manage.py startapp supriya_module_inflow;

在控制台中收到错误:

Environment Selected :dev
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 24, in <module>
    import MySQLdb as Database
ModuleNotFoundError: No module named 'MySQLdb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 35, in <module>
    execute_from_command_line(sys.argv)......
...
 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

3 个答案:

答案 0 :(得分:7)

MySQLdb不支持Python 3.您将要选择其中一个MySQL drivers

  

在撰写本文时,最新版本的MySQLdb(1.2.5)不支持Python 3.为了在Python 3下使用MySQLdb,您必须安装mysqlclient

答案 1 :(得分:1)

错误消息表明没有名为MySQLdb的模块。这意味着,Python需要一个模块来与MySQL数据库进行交互,并且模块似乎不存在于系统中。您需要做的就是安装MySQL-Python模块,脚本应该没有任何问题。

使用Python Pip

pip install MySQL-python

Collecting MySQL-python
Installing collected packages: MySQL-python
 Running setup.py install for MySQL-python
Successfully installed MySQL-python-1.2.5

在基于Ubuntu的系统上

# apt-get install python-mysqldb

在基于RHEL / CentOS的系统上:

# yum install MySQL-python

使用easy_install

# easy_install mysql-python

答案 2 :(得分:0)

如果您在虚拟环境中,那么

.wrap()

您还可以查看related issue