Python with MySQL on Windows: 安装错误

在 Windows 上使用 Python 与 MySQL 时,可能会遇到以下错误:

$python manage.py dbshell
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python25\lib\site-packages\django\core\management\__init__.py", line
362, in execute_manager
    utility.execute()
  File "C:\Python25\lib\site-packages\django\core\management\__init__.py", line
303, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python25\lib\site-packages\django\core\management\base.py", line 195,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python25\lib\site-packages\django\core\management\base.py", line 222,
 in execute
    output = self.handle(*args, **options)
  File "C:\Python25\lib\site-packages\django\core\management\base.py", line 351,
 in handle
    return self.handle_noargs(**options)
  File "C:\Python25\lib\site-packages\django\core\management\commands\dbshell.py
", line 9, in handle_noargs
    from django.db import connection
  File "C:\Python25\lib\site-packages\django\db\__init__.py", line 41, in <modul
e>
    backend = load_backend(settings.DATABASE_ENGINE)
  File "C:\Python25\lib\site-packages\django\db\__init__.py", line 17, in load_b
ackend
    return import_module('.base', 'django.db.backends.%s' % backend_name)
  File "C:\Python25\Lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python25\lib\site-packages\django\db\backends\mysql\base.py", line 13
, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo
dule named MySQLdb

2、解决方案

  1. 安装 MySQLdb 模块

    • 下载 MySQLdb 模块:http://sourceforge.net/projects/mysql-python/

    • 解压下载的压缩包

    • 打开命令提示符,进入解压后的目录

    • 运行以下命令:

      python setup.py install
      
  2. 安装 setuptools 模块

    • 下载 setuptools 模块:https://pypi.org/project/setuptools/

    • 解压下载的压缩包

    • 打开命令提示符,进入解压后的目录

    • 运行以下命令:

      python ez_setup.py
      
  3. 编译 MySQLdb 模块

    • 打开命令提示符,进入 MySQLdb 模块的目录

    • 运行以下命令:

      python setup.py install
      
  4. 确保 Python 版本与编译器版本兼容

    • 如果出现错误error: Python was built with Visual Studio 2003; extensions must be built with a compiler than can generate compatible binaries.,则需要使用与 Python 版本兼容的编译器来编译 MySQLdb 模块。

    • 具体方法是,在 setup.py 文件中添加 -c mingw32 参数。例如:

      python setup.py install -c mingw32
      
  5. 在 Django 项目中使用 MySQL

    • 在 Django 项目的 settings.py 文件中,设置以下内容:

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql',
              'NAME': 'my_database',
              'USER': 'my_username',
              'PASSWORD': 'my_password',
              'HOST': '127.0.0.1',
              'PORT': '3306',
              'OPTIONS': {
                  'charset': 'utf8mb4',
                  'use_unicode': True,
              },
          }
      }
      
  6. 迁移数据库

    • 运行以下命令来创建数据库表:

      python manage.py migrate
      
  7. 测试数据库连接

    • 运行以下命令来测试数据库连接:

      python manage.py dbshell
      

    如果出现以下提示,则表示数据库连接成功:

    Python 2.5.2 (r252:60911, Feb 21 2010, 01:24:15) [MSC v.1500 32 bit (Intel)] on win32
    

Type “help”, “copyright”, “credits” or “license” for more information.
(InteractiveConsole)

猜你喜欢

转载自blog.csdn.net/D0126_/article/details/143211889