代码之家  ›  专栏  ›  技术社区  ›  Shamsul Arefin

ModuleNotFoundError:django 1.10.5中没有名为“MySQLdb”的模块

  •  0
  • Shamsul Arefin  · 技术社区  · 8 年前

    我打电话时遇到了这个错误 python manage.py migrate 第一次。我在窗户里。安装了mysql,创建了数据库,把数据库名也放进去了。 django version is 1.10.5 , python版本 我用的是 python 3.7 python 2.7 也在系统中。 一些解决方案说,visualstudio开发工具可能会解决这个问题,我安装了visualstdio2017开发工具,但问题仍然存在。

    ModuleNotFoundError: No module named 'MySQLdb'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "manage.py", line 22, in <module>
        execute_from_command_line(sys.argv)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\core\management\__init__.py", line 367, in execute_
    from_command_line
        utility.execute()
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\core\management\__init__.py", line 341, in execute
        django.setup()
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\__init__.py", line 27, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\apps\registry.py", line 108, in populate
        app_config.import_models(all_models)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\apps\config.py", line 199, in import_models
        self.models_module = import_module(models_module_name)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\importlib\__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
      File "<frozen importlib._bootstrap>", line 983, in _find_and_load
      File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\contrib\auth\models.py", line 4, in <module>
        from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\contrib\auth\base_user.py", line 52, in <module>
        class AbstractBaseUser(models.Model):
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\models\base.py", line 119, in __new__
        new_class.add_to_class('_meta', Options(meta, app_label))
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\models\base.py", line 316, in add_to_class
        value.contribute_to_class(cls, name)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\models\options.py", line 214, in contribute_to_c
    lass
        self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
        return getattr(connections[DEFAULT_DB_ALIAS], item)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\utils.py", line 211, in __getitem__
        backend = load_backend(db['ENGINE'])
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\utils.py", line 115, in load_backend
        return import_module('%s.base' % backend_name)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\importlib\__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "I:\python projects\Virtual_Environments\todo_project_venv\todo_venv\lib\site-packages\django\db\backends\mysql\base.py", line 28, in <module>
        raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Shamsul Arefin    8 年前

    我发现,我必须安装一个特定版本的 mysqlclient 来解决这些错误。

    我不得不这么做 python 3.7 (可能有一些问题,我观察到)。

    然后安装 python 3.6.5.

    mysqlclient 1.3.12

    这两个并不冲突,项目运行顺利。