Me resulta difícil usar MySQL con Python en mi sistema Windows.
Actualmente estoy usando Python 2.6. He intentado compilar el código fuente de MySQL-python-1.2.3b1 (¿que se supone que funciona para Python 2.6?) Utilizando 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 intenté 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é usando los binarios provistos). Tengo Visual Studio 2005 en mi sistema Windows. Por lo tanto, setuptools no puede generar el módulo _mysql.
Alguna ayuda ?
Respuestas:
Página de descarga de python-mysqldb . La página incluye binarios para las versiones de 32 y 64 bits de Python 2.5, 2.6 y 2.7.
También hay una discusión sobre cómo deshacerse de la advertencia de obsolescencia .
ACTUALIZACIÓN : Esta es una respuesta antigua. Actualmente, recomendaría usar PyMySQL. Es python puro, por lo que es compatible con todos los sistemas operativos por igual, es casi un reemplazo directo de mysqldb y también funciona con python 3. La mejor manera de instalarlo es usando pip. Puede instalarlo desde aquí (más instrucciones aquí ) y luego ejecutar:
fuente
pip install pymysql
,syncdb
todavía se queja delMySQLdb
módulo que falta .Esto puede parecer que su abuelo dio un consejo, pero todas las respuestas aquí no mencionaron la mejor manera: vaya e instale ActivePython en lugar de los binarios de Windows de python.org. Realmente me pregunté durante mucho tiempo por qué el desarrollo de Python en Windows era tan sencillo, hasta que instalé activestate python. No estoy afiliado a ellos. Es la pura verdad. Escríbalo en cada muro: desarrollo de Python en Windows = ActiveState ! entonces solo
pypm install mysql-python
y todo funciona sin problemas. no compilar orgía. sin errores extraños. sin terror. Simplemente comience a codificar y a hacer un trabajo real después de cinco minutos. Esta es la única forma de hacerlo en Windows. De Verdad.fuente
Como principiante de Python que está aprendiendo el ecosistema de Python, acabo de completar esto.
Instrucciones de instalación de setuptools
Instale MySQL 5.1. Descargue el MSI de 97.6MB desde aquí. No puede usar la versión Essentials 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 no se realiza de forma predeterminada. Esto es necesario para obtener los archivos de encabezado C.
Puede verificar que ha hecho esto correctamente buscando en su directorio de instalación una carpeta llamada "incluir". Por ejemplo, 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 aquí. 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 "ejecutar 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 de "clave_registro" a:
clave_registro = SOFTWARE \ MySQL AB \ MySQL Server 5.1
ahora CD en su directorio temporal y:
Python setup.py limpio
instalación de python setup.py
¡Deberías estar listo para rockear!
Aquí hay un script súper simple para comenzar a aprender la API de Python DB por usted, si lo necesita.
fuente
Encontré una ubicación donde una persona había construido con éxito mysql para python2.6, compartiendo el enlace, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe
... es posible que vea una advertencia al importar MySQLdb, lo cual está bien y no dañará nada,
C: \ Python26 \ lib \ site-packages \ MySQLdb__init __. Py: 34: DeprecationWarning: el módulo sets está obsoleto de la importación de sets ImmutableSet
fuente
¿Qué pasa con pymysql ? Es Python puro y lo he usado en Windows con considerable éxito, evitando las dificultades de compilar e instalar mysql-python.
fuente
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
fuente
Hay binarios de Windows para MySQL-Python (2.4 y 2.5) disponibles en Sourceforge . ¿Has probado esos?
fuente
Los binarios precompilados en http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python me funcionaron.
MySQL_python-1.2.5-cp27-none-win_amd64.whl
archivo con el programa extractor de zip.C:\Python27\Lib\site-packages\
fuente
En Python 3.4, instalé mysqlclient desde http://www.lfd.uci.edu/~gohlke/pythonlibs/ con pip install mysqlclient y está funcionando.
fuente
Puede intentar utilizar myPySQL. Es realmente fácil de usar; no hay compilación para Windows, e incluso si necesita compilarlo por cualquier motivo, solo necesita tener instalado Python y Visual C (no mysql).
http://code.google.com/p/mypysql/
Buena suerte
fuente
Debido a que estoy ejecutando Python en un virtualenv (pilones / pirámide), no pude ejecutar los instaladores binarios (útilmente) vinculados anteriormente.
Tuve problemas para seguir 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 con todo esto, en mi opinión, habría sido más inteligente ejecutar todo el entorno de desarrollo de Python desde cygwin.
fuente
Si está buscando Python 3.2, esta parece la mejor solución que encontré hasta ahora
Fuente: http://wiki.python.org/moin/MySQL
fuente
Es posible que desee considerar también hacer uso de Cygwin , tiene bibliotecas mysql python en el repositorio.
fuente
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 que si sigue con ese cambio entre los controladores MySQL / PostgreSQL / SQLite / ODBC / JDBC, etc., debería ser relativamente sencillo.
fuente
votó a favor 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
fuente
Me cansé de los problemas de instalación con MySQLdb y probé pymysql en su lugar.
Configuración fácil;
Y las API son prácticamente iguales.
fuente