【问题标题】:'ModuleNotFoundError: No module named 'MySQLdb' In Django'ModuleNotFoundError:在 Django 中没有名为 'MySQLdb' 的模块
【发布时间】:2018-05-09 12:04:33
【问题描述】:

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

我用的是mac 试过的步骤:

1.安装python 3.6.+版本,

2.克隆的git项目

3.设置本地环境,

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'

【问题讨论】:

    标签: django mysql-python python-3.6


    【解决方案1】:

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

    pip install MySQL-python
    

    您也可以查看related issue

    【讨论】:

    • 要求已经满足:/Library/Python/2.7/site-packages 中的 MySQL-python 得到这个
    • 你现在真的在环境中工作吗?您使用python3 创建的环境,但错误消息是python2。我认为你不是..
    • 您可以使用命令(如果是 linux)激活它:$ source dev/bin/activate。在这里你应该安装它(dev) $ pip install MySQL-pythondev 的意思是你之前创建的环境。
    【解决方案2】:

    MySQLdb 不支持 Python 3。您需要选择其他 MySQL drivers 之一。

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

    这里是How to install mysqlclient in Python using pip,以便在运行Python 3.8.5时能够在Django 3.1import MySQLdb..

    【讨论】:

    • 我没有在这个链接中得到任何东西,你有什么简短的命令吗?
    • "MySQLdb 是目前唯一不支持 Python 3 的 [驱动程序]。" - 如果您想使用 Python 3,则需要安装另一个列出的驱动程序。简而言之,您的 virtualenv 中的 pip install mysqlclient 应该可以工作。
    • 如果您需要更详细的帮助,您需要提供更多信息,但您的问题很可能源于在系统范围内安装 Python 包与在virtuanenv(以及激活 virtualenv 的含义)。我建议您在那里阅读一些内容,您当前问题的解决方案应该很明显!
    • 在升级 pip python -m pip install --upgrade pip 后按照您的步骤工作:)
    【解决方案3】:

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

    使用 Python Pip

    点安装 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
    

    【讨论】:

      【解决方案4】:

      ** MySQL-python (setup.py) 的构建轮...错误 错误:命令出错,退出状态为 1:**

      无法安装 MySQL-python 并出现上述错误。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
      猜你喜欢
      • 1970-01-01
      • 2019-01-10
      • 2019-08-17
      • 2019-03-08
      • 2021-08-06
      • 1970-01-01
      • 2019-11-28
      • 2018-11-03
      相关资源
      最近更新 更多