Python con MySQL en Windows: errores de instalación

Intenté ejecutar el siguiente comando, en la carpeta de mi proyecto Django:

$ python manage.py dbshell 

Me muestra este error:

 $python manage.py dbshell Traceback (most recent call last): File "manage.py", line 11, in  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  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  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo dule named MySQLdb 

La primera pregunta es, ¿por qué Python no incluye simplemente este módulo MySQLdb?

OK, está bien, intenta buscar para resolver este mensaje.

He mirado alrededor de stackoverflow.com para instalar este módulo pero no tuve un buen resultado.

Descargue este módulo en: http://sourceforge.net/projects/mysql-python/

Viene a la instalación de este módulo en mi sistema Windows Vista. Después de la extracción del paquete, ejecuto el indicador de cmd para continuar con la instalación:

 $ python setup.py install 

De nuevo me mostró otro mensaje:

 D:\SOFTWARE\PROGRAMMING\MySQL-python-1.2.3c1>python setup.py install Traceback (most recent call last): File "setup.py", line 5, in  from setuptools import setup, Extension ImportError: No module named setuptools 

Jugando con este mensaje de error, sé que hay un ez_setup.py dentro del paquete:

 $python ez_setup.py 

Parece que todo está bien:

 D:\SOFTWARE\PROGRAMMING\MySQL-python-1.2.3c1>python ez_setup.py Downloading http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py 2.5.egg Processing setuptools-0.6c9-py2.5.egg Copying setuptools-0.6c9-py2.5.egg to c:\python25\lib\site-packages Adding setuptools 0.6c9 to easy-install.pth file Installing easy_install-script.py script to C:\Python25\Scripts Installing easy_install.exe script to C:\Python25\Scripts Installing easy_install-2.5-script.py script to C:\Python25\Scripts Installing easy_install-2.5.exe script to C:\Python25\Scripts Installed c:\python25\lib\site-packages\setuptools-0.6c9-py2.5.egg Processing dependencies for setuptools==0.6c9 Finished processing dependencies for setuptools==0.6c9 

Ahora regresa a setup.py para instalar nuevamente:

 $python setup.py install 

De nuevo me dio otro mensaje de error:

 D:\SOFTWARE\PROGRAMMING\MySQL-python-1.2.3c1>python setup.py install running install running bdist_egg .... copying MySQLdb\constants\CLIENT.py -> build\lib.win32-2.5\MySQLdb\constants running build_ext error: Python was built with Visual Studio 2003; extensions must be built with a compiler than can generate compatible binaries. Visual Studio 2003 was not found on this system. If you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py. 

¿Como puedo solucionar este problema?

¿Intentaste buscar aquí: http://sourceforge.net/projects/mysql-python/files/

Esa es el área de descarga del proyecto MySQLdb, no tiene nada que ver con django, por lo que su pregunta es incorrecta: django no dificulta el cambio de la base de datos de la base de datos, solo cambia una línea. Y, por supuesto, la instalación de Python debería admitir esa base de datos primero, de modo que al descargar el paquete binario para Windows desde el enlace que proporcioné anteriormente (elegí la versión correcta para que coincida con su versión de Python), puede evitar toda la molestia de comstackr la versión original.

Lo más probable es que necesites MySQL-python-1.2.2.win32-py2.5.exe o MySQL-python-1.2.2.win32-py2.4.exe

Uh, esto no es Django, esto es que estás descargando un entorno Python no especificado y esperando que haga todo mágicamente exactamente de la manera que querías. Encuentra un buen tutorial sobre esto y sigue las instrucciones.

Por cierto, este es un foro muy útil, pero no dar detalles y luego responder con una actitud no es una buena manera de hacer que las personas se sientan útiles.

Una vez tuve el mismo problema al ejecutar Python y MySQL en la misma computadora. Al igual que los chicos / chicas que se mencionaron anteriormente, Python no viene con soporte incorporado para MySQL, por lo que necesitarás descargar los conectores.

El enlace proporcionado anteriormente por @kibitzer probablemente no funcione correctamente en Windows, así que vaya aquí para descargar una copia del conector que funciona con Windows. Viene con el instalador y no es necesario ejecutar el script setup.py manualmente.