Python + Django : No module named MySQLdb

Django에서 MariaDB 연동 중 아래처럼 MySQLdb 모듈이 없다는 에러가 난다면, 모듈을 설치해야 한다.

C:project1>manage.py syncdb
Traceback (most recent call last):
  File “C:project1manage.py”, line 10, in <module>
    execute_from_command_line(sys.argv)
  File “C:Python27libsite-packagesdjangocoremanagement__init__.py”, line 443, in execute_from_command_line
    utility.execute()
  File “C:Python27libsite-packagesdjangocoremanagement__init__.py”, line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File “C:Python27libsite-packagesdjangocoremanagement__init__.py”, line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File “C:Python27libsite-packagesdjangocoremanagement__init__.py”, line 69, in load_command_class
    module = import_module(‘%s.management.commands.%s’ % (app_name, name))
  File “C:Python27libsite-packagesdjangoutilsimportlib.py”, line 35, in import_module
    __import__(name)
  File “C:Python27libsite-packagesdjangocoremanagementcommandssyncdb.py”, line 8, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
  File “C:Python27libsite-packagesdjangocoremanagementsql.py”, line 6, in <module>
    from django.db import models
  File “C:Python27libsite-packagesdjangodb__init__.py”, line 40, in <module>
    backend = load_backend(connection.settings_dict[‘ENGINE’])
  File “C:Python27libsite-packagesdjangodb__init__.py”, line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File “C:Python27libsite-packagesdjangodbutils.py”, line 92, in __getitem__
    backend = load_backend(db[‘ENGINE’])
  File “C:Python27libsite-packagesdjangodbutils.py”, line 24, in load_backend
    return import_module(‘.base’, backend_name)
  File “C:Python27libsite-packagesdjangoutilsimportlib.py”, line 35, in import_module
    __import__(name)
  File “C:Python27libsite-packagesdjangodbbackendsmysqlbase.py”, line 16, in <module>
    raise ImproperlyConfigured(“Error loading MySQLdb module: %s” % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
C:project1>
cs

OS가 윈도우인 경우에는 아래 명령어를 이용하여 모듈을 설치할 수 있다.

C:project1>easy_install mysql-python
Searching for mysql-python
Reading https://pypi.python.org/simple/mysql-python/
Best match: MySQL-python 1.2.5
Downloading https://pypi.python.org/packages/27/06/596ae3afeefc0cda5840036c42920222cb8136c101ec0f453f2e36df12a0/MySQL-py
thon-1.2.5.win32-py2.7.exe#md5=6f43f42516ea26e79cfb100af69a925e
Processing MySQL-python-1.2.5.win32-py2.7.exe
creating ‘c:usersrayappdatalocaltempeasy_install-eri40bMySQL_python-1.2.5-py2.7-win32.egg’ and adding ‘c:usersr
ayappdatalocaltempeasy_install-eri40bMySQL_python-1.2.5-py2.7-win32.egg.tmp’ to it
Moving MySQL_python-1.2.5-py2.7-win32.egg to c:python27libsite-packages
Adding MySQL-python 1.2.5 to easy-install.pth file
Installed c:python27libsite-packagesmysql_python-1.2.5-py2.7-win32.egg
Processing dependencies for mysql-python
Finished processing dependencies for mysql-python
C:project1>
cs

다른 OS인 경우 아래 명령어들을 참조한다.

  • easy_install mysql-python (mix os)
  • pip install mysql-python (mix os)
  • apt-get install python-mysqldb (Linux Ubuntu, …)
  • cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
  • yum install MySQL-python (Linux Fedora, CentOS …)

참고. 설치 환경

– OS : Windows 7 Professional K

– Python : v 2.7.5

– Django : v 1.4

– setuptools : v 1.1

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤