Foros del Web » Programando para Internet » Python »

Como instalar mysql en un entorno virtual (VirtualEnv)

Estas en el tema de Como instalar mysql en un entorno virtual (VirtualEnv) en el foro de Python en Foros del Web. Buenas, cuando instale python y django en mi maquina y comencé a trabajar en un proyecto me di cuenta que necesitaba instalar algún tipo de ...
  #1 (permalink)  
Antiguo 05/10/2012, 18:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Como instalar mysql en un entorno virtual (VirtualEnv)

Buenas, cuando instale python y django en mi maquina y comencé a trabajar en un proyecto me di cuenta que necesitaba instalar algún tipo de complemento para poder trabajar con mysql.

Eso me llevo a ejecutar:

http://www.codegood.com/archives/129

"MySQL-python 1.2.3 for Windows and Python 2.7, 32bit and 64bit versions"
Y todo anduvo a la perfección.

Pero luego instale virtualenv y cree un entorno. En ese entorno instale django y south.

Al querer ejecutar mi proyecto en el entorno me dio un error:

"Error loading MySQLdb module: No module named MySQLdb"
Por lo que instale con pip mysql-python en el entorno, pero continua dando error cuando quiero ejecutar el mini servidor (runserver) :



Que hago ?
  #2 (permalink)  
Antiguo 05/10/2012, 18:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Ahi te dice que MySQLdb no esta instalado.

Asegúrate de 2 cosas:
1.- Que estas en el entorno.
2.- Que estas instalando cosas en el entorno. (Probablemente sea esto).

Por ejemplo a mi en linux la terminal me aparece (venv) cuando tengo mi entorno virtual activado.
  #3 (permalink)  
Antiguo 05/10/2012, 19:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Si, me asegure de eso y efectivamente estoy en el entorno. Y tambien corrobore las librerias instaladas en el mismo.
  #4 (permalink)  
Antiguo 05/10/2012, 19:45
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Ok entonces haz lo siguiente:

1.- Muéstranos el error completo no solo parte de la pantalla.
2.- Ejecuta pip freeze y postea lo que salga.
  #5 (permalink)  
Antiguo 05/10/2012, 20:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Aqui va:



El freeze tira:

Django ===1.4.1
South === 0.7.6

Por lo visto no aparece mysql, pero es muy extraño porque la libreria esta instalada dentro del repositorio ...
  #6 (permalink)  
Antiguo 05/10/2012, 20:19
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Esto aparece si hago un pip install mysql-python por segunda ves en el entorno virtual prueba:

  #7 (permalink)  
Antiguo 05/10/2012, 20:35
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Mira lo que pasa es que MySQLdb necesita compilar algunas cosas en el proceso de instalación (igual que PIL y que muchos otros paquetes). El punto es que no tienes las librerías ni el compilador.

Tienes varias opciones:
1.- Dejar windows y pasarte a linux, donde la administración es mas ligera.
2.- Usar la versión precompilada (MySQLdb), instalarla y heredarla en el virtualenv.
3.- Bajar e instalar las librerías (no se cuales sean) y el compilador (MSVC o mingw32) e instalar en pip.
  #8 (permalink)  
Antiguo 05/10/2012, 21:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

La opcion 2 parece ser la mas rápida.

Dado que la versión precompilada ya la tengo instalada como puedo heredarla en virtualenv ?
  #9 (permalink)  
Antiguo 05/10/2012, 21:47
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Ok, primero no puedes heredar de un paquete en especifico si no de todo tus paquetes globales.

Cuando creas el virtualenv tienes que reemplazar la opción --no-site-packages por --system-site-packages
  #10 (permalink)  
Antiguo 08/10/2012, 14:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años
Puntos: 4
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

Encontre esto que propone especificar una ruta para usar una libreria externa en el entorno.

http://stackoverflow.com/questions/8...ysqlvirtualenv

Y lo que hice fue crear un archivo llamado mysql.pth en el entorno virtual en "Lib\site-packages" con el siguiente contenido apuntando a las librerias en mi particion donde esta instalado python:

C:\Python27\Lib\site-packages\MySQL_python-1.2.3-py2.7.egg-info

o tambien:

C:\Python27\Lib\site-packages\MySQLdb

Pero no funciona, alguna idea ???
  #11 (permalink)  
Antiguo 08/10/2012, 14:40
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Como instalar mysql en un entorno virtual (VirtualEnv)

No, no puedes hacer eso. Tienes que heredar de todo tu entorno global (al momento crear el virtualenv).

Ejemplo:
Código:
$ virtualenv --system-site-packages virtua_env_name

Etiquetas: django, entorno, mysql, virtual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:33.