query - Integrando MySQL con Python en Windows
python sql mysql (16)
¿Qué hay de pymysql ? Es puro Python, y lo he usado en Windows con considerable éxito, pasando por alto las dificultades de compilar e instalar mysql-python.
Me resulta difícil utilizar MySQL con Python en mi sistema de Windows.
Actualmente estoy usando Python 2.6. He intentado compilar el código fuente MySQL-python-1.2.3b1 (que se supone que funciona para Python 2.6?) Utilizando los scripts de configuración proporcionados. El script de instalació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 está compilado 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 ?
Como novato de Python aprendiendo el ecosistema de Python, acabo de completar esto.
Instalar instructions herramientas
Instalar MySQL 5.1. Descargue la MSI 97.6MB desde here No puede usar la versión esencial porque no contiene las bibliotecas C.
Asegúrese de seleccionar una instalación personalizada y marque las herramientas / bibliotecas de desarrollo para la instalación, ya que eso no se hace de forma predeterminada. Esto es necesario para obtener los archivos de cabecera C.
Puede verificar que ha hecho esto correctamente buscando en el directorio de instalación una carpeta llamada "incluir". EG C: / Archivos de programa / MySQL / MySQL Server 5.1 / include. Debería tener un montón de archivos .h.Instale Microsoft Visual Studio C ++ Express 2008 desde here Esto es necesario para obtener un compilador de C.
Abra una línea de comando como administrador (haga clic derecho en el acceso directo Cmd y luego "ejecute como administrador". Asegúrese de abrir una nueva ventana después de haber instalado esas cosas o su ruta no se actualizará y la instalación aún fallará).
Desde el símbolo del sistema:
easy_install -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" en:
registry_key = SOFTWARE / MySQL AB / MySQL Server 5.1
ahora CD en tu directorio temporal y:
python setup.py clean
instalación de python setup.py
¡Deberías estar listo para rockear!
Here hay un script muy simple para comenzar a aprender Python DB API por usted, si lo necesita.
Debido a que estoy ejecutando python en virtualenv (pilones / pirámide), no pude ejecutar los instaladores binarios (útilmente) vinculados previamente.
Tuve problemas siguiendo los pasos con la respuesta de Willie, pero determiné que el problema es (probablemente) que estoy ejecutando la instalación de Windows 7 x64, que coloca la clave de registro para 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 reiniciar entre los pasos 3 y 4.
Después de trabajar en todo esto, IMO hubiera sido más inteligente ejecutar todo el entorno dev de python de cygwin.
En Python 3.4 he instalado mysqlclient desde http://www.lfd.uci.edu/~gohlke/pythonlibs/ con pip install mysqlclient y está funcionando.
Encontré una ubicación donde una persona había creado mysql 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 al importar MySQLdb, que está bien y eso no dañará nada,
C: / Python26 / lib / site-packages / MySQLdb__init __. Py: 34: DeprecationWarning: el módulo sets está en desuso en los sets import ImmutableSet
Esto puede parecerse al consejo de su abuelo, pero todas las respuestas aquí no mencionaron la mejor manera: vaya a instalar ActivePython lugar de los binarios de ventanas de python.org. Realmente me estuve preguntando durante mucho tiempo por qué el desarrollo de Python en Windows era una pita, hasta que instalé el Python Activestate. No estoy afiliado a 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 compilación orgía sin errores extraños sin terror Solo comience a codificar y haga un trabajo real después de cinco minutos. Esta es la única manera de ir en Windows. De Verdad.
Hay binarios de Windows para MySQL-Python (2.4 y 2.5) disponibles en Sourceforge . ¿Has probado ésos?
Los binarios precompilados en http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python me acaban de funcionar.
- Abra el
MySQL_python-1.2.5-cp27-none-win_amd64.whl
con el programa zip extractor. - Copie los contenidos a
C:/Python27/Lib/site-packages/
Me cansé de los problemas de instalación con MySQLdb y probé con pymysql .
Configuración fácil;
git clone https://github.com/petehunt/PyMySQL.git
python setup.py install
Y las API son más o menos lo mismo.
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 debe ejecutarse en Python 2.5 http://i.justrealized.com/2008/04/08/how-to-install-python-and-django-in-windows-vista/ Buena suerte
Puede intentar utilizar myPySQL. Es realmente fácil de usar; no hay compilación para Windows, e incluso si necesita compilarla por alguna razón, solo necesita instalar Python y Visual C (no mysql).
http://code.google.com/p/mypysql/
Buena suerte
Si está buscando Python 3.2, esta parece ser la mejor solución que he encontrado hasta ahora
- para Python 2.4 - 3.2 PyMySQL
- para Python 2.3 - 2.6 MySQL para Python
Fuente: wiki.python.org/moin/MySQL
También es posible que desee considerar el uso de Cygwin , tiene bibliotecas de python mysql en el repositorio.
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 con Linux. Pyodbc usa el Python DB API 2.0 estándar, por lo que si te quedas con ese cambio entre los controladores MySQL / PostgreSQL / SQLite / ODBC / JDBC, etc. debería ser relativamente fácil.
votó la respuesta de itsadok porque me llevó a la instalación de Python 2.7 también, que se encuentra aquí: http://www.codegood.com/archives/129
Página de descarga para python-mysqldb . La página incluye archivos binarios para las 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 desaprobación .
ACTUALIZACIÓN : esta es una respuesta antigua. Actualmente, recomendaría usar PyMySQL. Es python puro, por lo que admite todos los sistemas operativos por igual, es casi un reemplazo directo para mysqldb, y también funciona con python 3. La mejor manera de instalarlo es usar pip. Puede instalarlo desde here (más instrucciones here ), y luego ejecutar:
pip install pymysql