Integración de MySQL con Python en Windows

Me resulta difícil usar MySQL con Python en mi sistema de Windows.

Actualmente estoy usando Python 2.6. He intentado comstackr el código fuente de MySQL-python-1.2.3b1 (¿se supone que funciona para Python 2.6?) Usando los scripts de configuración proporcionados. El script de configuración se ejecuta y no informa ningún error pero no genera el módulo _mysql.

También he intentado configurar MySQL para Python 2.5 sin éxito. El problema con el uso de 2.5 es que Python 2.5 se comstack con visual studio 2003 (lo instalé utilizando los binarios proporcionados). Tengo Visual Studio 2005 en mi sistema de Windows. Por lo tanto, setuptools no genera el módulo _mysql.

Alguna ayuda ?

Descargar la página para python-mysqldb . La página incluye binarios para versiones de 32 y 64 bits de Python 2.5, 2.6 y 2.7.

También hay discusión sobre cómo deshacerse de la advertencia de deprecación .

ACTUALIZACIÓN : Esta es una vieja respuesta. Actualmente, recomendaría usar PyMySQL. Es puro python, por lo que es compatible con todos los sistemas operativos por igual, es casi un reemplazo para mysqldb, y también funciona con python 3. La mejor manera de instalarlo es usar pip. Puede instalarlo desde aquí (más instrucciones aquí ), y luego ejecutar:

pip install pymysql 

Esto puede leerse como el consejo de su abuelo, pero todas las respuestas aquí no mencionaron la mejor manera: vaya y instale ActivePython en lugar de los binarios de Windows de python.org. Durante mucho tiempo realmente me pregunté por qué el desarrollo de Python en Windows era tan complejo, hasta que instalé python de estado activo. No estoy afiliado con ellos. Es solo la pura verdad. Escríbelo en cada pared: ¡ Desarrollo de Python en Windows = ActiveState ! entonces simplemente pypm install mysql-python y todo funciona sin problemas. No comstackmos orgía. No hay errores extraños. no terror Simplemente comienza a progtwigr y hacer un trabajo real después de cinco minutos. Esta es la única manera de ir en windows. De Verdad.

Como Python Newbie aprendiendo el ecosistema de Python, acabo de completar esto.

  1. Instalar las instrucciones de setuptools

  2. Instalar MySQL 5.1. Descargue el MSI de 97.6MB desde aquí. No puede usar la versión de Essentials porque no contiene las bibliotecas de C.
    Asegúrese de seleccionar una instalación personalizada y marque las herramientas / bibliotecas de desarrollo para la instalación, ya que no se realiza de forma predeterminada. Esto es necesario para obtener los archivos de cabecera C.
    Puede verificar que ha hecho esto correctamente buscando en su directorio de instalación una carpeta llamada “incluir”. EG C: \ Archivos de progtwig \ MySQL \ MySQL Server 5.1 \ include. Debe tener un montón de archivos .h

  3. Instale Microsoft Visual Studio C ++ Express 2008 desde aquí. Esto es necesario para obtener un comstackdor de C.

  4. Abra una línea de comando como administrador (haga clic con el botón derecho en el acceso directo de Cmd y luego “ejecutar como administrador”. Asegúrese de abrir una ventana nueva después de haber instalado esas cosas o su ruta no se actualizará y la instalación seguirá fallando.

  5. Desde el símbolo del sistema:

    fácil_instalar -b C: \ temp \ sometempdir mysql-python

    Eso fallará, lo cual está bien.

    Ahora abra site.cfg en su directorio temporal C: \ temp \ sometempdir y edite la configuración “registry_key” para:

    registry_key = SOFTWARE \ MySQL AB \ MySQL Server 5.1

    ahora CD en tu directorio temporal y:

    python setup.py limpio

    python setup.py install

    Deberías estar listo para el rock!

  6. Aquí hay un script súper simple para comenzar a aprender el API de base de datos de Python por usted, si lo necesita.

Encontré una ubicación donde una persona había creado mysql con éxito para python2.6, compartiendo el enlace, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

… es posible que veas una advertencia mientras importas MySQLdb que está bien y que no dañará nada,

C: \ Python26 \ lib \ site-packages \ MySQLdb__init __. Py: 34: DeprecationWarning: el módulo de conjuntos está en desuso desde sets import ImmutableSet

¿Qué pasa con pymysql ? Es Python puro, y lo he usado en Windows con bastante éxito, superando las dificultades de comstackr e instalar mysql-python.

No eres la única persona que tiene problemas con Python 2.6 y MySQL ( http://blog.contriving.net/2009/03/04/using-python-26-mysql-on-windows-is-nearly-impossible/ ) . Aquí hay una explicación de cómo debería ejecutarse en Python 2.5 http://i.justrealized.com/2008/04/08/how-to-install-python-and-django-in-windows-vista/ Buena suerte

Hay binarios de Windows para MySQL-Python (2.4 y 2.5) disponibles en Sourceforge . ¿Has probado eso?

Los archivos binarios precomstackdos en http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python solo funcionan para mí.

  1. Abra el MySQL_python-1.2.5-cp27-none-win_amd64.whl con el progtwig extractor de zip.
  2. Copie el contenido a C:\Python27\Lib\site-packages\

En Python 3.4 instalé mysqlclient desde http://www.lfd.uci.edu/~gohlke/pythonlibs/ con pip install mysqlclient y está funcionando.

Puedes intentar usar myPySQL. Es realmente fácil de usar; no hay comstackción para Windows, e incluso si necesita comstackrlo por algún motivo, solo necesita tener instalado Python y Visual C (no mysql).

http://code.google.com/p/mypysql/

Buena suerte

Debido a que estoy ejecutando python en un virtualenv (pilones / pirámide), no pude ejecutar los instaladores binarios (útilmente) vinculados anteriormente.

Tuve problemas siguiendo los pasos con la respuesta de Willie, pero determiné que el problema es (probablemente) que estoy ejecutando Windows 7 x64 install, que coloca la clave de registro de mysql en una ubicación ligeramente diferente, específicamente en mi caso (nota: Estoy ejecutando la versión 5.5) en: “HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5”.

SIN EMBARGO, “HKEY_LOCAL_MACHINE \” no se puede incluir en la ruta o fallará.

Además, tuve que hacer un reinicio entre los pasos 3 y 4.

Después de trabajar en todo esto, IMO, habría sido más inteligente ejecutar todo el entorno de desarrollo de python desde cygwin.

Si está buscando Python 3.2, esta parece ser la mejor solución que encontré hasta ahora.

  • para Python 2.4 – 3.2 PyMySQL
  • para Python 2.3 – 2.6 MySQL para Python

Fuente: http://wiki.python.org/moin/MySQL

Es posible que también desee considerar el uso de Cygwin , ya que tiene bibliotecas python mysql en el repository.

También puede usar pyodbc con MySQL Connector / ODBC para usar MySQL en Windows. Unixodbc también está disponible para hacer que el código sea compatible en Linux. Pyodbc utiliza el estándar Python DB API 2.0, por lo tanto, si sigue con el cambio entre los controladores MySQL / PostgreSQL / SQLite / ODBC / JDBC, debería ser relativamente sencillo.

upvoted la respuesta de itsadok porque también me llevó a la instalación de python 2.7, que se encuentra aquí: http://www.codegood.com/archives/129

Me cansé de los problemas de instalación con MySQLdb y probé pymysql en su lugar.

Configuración fácil;

 git clone https://github.com/petehunt/PyMySQL.git python setup.py install 

Y las API son más o menos las mismas.