Python + Django : No module named MySQLdb

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

 
C:\project1>manage.py syncdb
Traceback (most recent call last):
  File "C:\project1\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 69, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py", line 8, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in <module>
    from django.db import models
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 40, in <module>
    backend = load_backend(connection.settings_dict['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 24, in load_backend
    return import_module('.base', backend_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.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:\users\ray\appdata\local\temp\easy_install-eri40b\MySQL_python-1.2.5-py2.7-win32.egg' and adding 'c:\users\r
ay\appdata\local\temp\easy_install-eri40b\MySQL_python-1.2.5-py2.7-win32.egg.tmp' to it
Moving MySQL_python-1.2.5-py2.7-win32.egg to c:\python27\lib\site-packages
Adding MySQL-python 1.2.5 to easy-install.pth file
 
 
Installed c:\python27\lib\site-packages\mysql_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



댓글 쓰기

0 댓글