[Python-mx] Error Conecto MySQLdb

Sandibell Coutiño bellota851106 at gmail.com
Tue Apr 21 16:43:26 CEST 2015


Hola Noe.

Muchas gracias por responder,

Al parecer no era tanto de que los paquetes no fueran tan compatibles en 
red hat, pues cuando me conectaba desde la consola con python podía 
traerme bien los datos de mis tablas alojadas en la base del otro 
servidor; Sin embargo el error es por que no se tiene permisos para 
conectar Apache (httpd) al puerto 3306 entonces la solución que encontré 
y muy básica fue desinstalar las versiones de django, mysqldb;  
volverlas a instalar (esto en una primera etapa como parte de mi 
desesperación y para asegurar que los paquetes fueran compatibles 
jajajaja ), después establecí las reglas para el acceso al puerto 3306 
con un protocolo tcp y por último habilité httpd_can_network_connec

iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED 
-j ACCEPT

iptables -I OUTPUT -p tcp --sport 3306 -m state --state ESTABLISHED -j 
ACCEPT

|sudo setsebool-P httpd_can_network_connect_dbon|


con esto mi conexión a la base de datos esta disponible tanto en la 
consola como por medio de mi aplicación web en Django ;).


Lindo día,



On 04/17/2015 11:38 AM, Noe Nieto wrote:
> Hola Sandibellota,
>
> Veo que el path de tu python es /usr/local/.
>
> Has probado los paquetes que ya trae redhat (ej: MySQL-python.x86_64) 
> ? Parece que instalaste tu propio Python. Con virtualenv basta para la 
> gran mayoria de los casos.
>
> Encontre esta pregunta en StackOverflow que contiene el mismo error 
> que te salio a ti
>
> http://stackoverflow.com/questions/2952187/getting-error-loading-mysqldb-module-no-module-named-mysqldb-have-tried-pre
>
> Dicen que alguna instalacion de MySQLPython salio algo defectuosa y 
> hay que editar algun archivo de configuracion.
>
> A ver si te sirve.
>
>
> --
> Noe
>
> El 17 de abril de 2015, 7:33, Sandibell Coutiño 
> <bellota851106 at gmail.com <mailto:bellota851106 at gmail.com>> escribió:
>
>     Buen día chicos!!
>
>     Empezando a usar la lista :P, tengo un problema, estoy trabajando
>     en estos momentos con Django y MySQL para una aplicación WEB, y
>     estoy pasando la info de mis servidores en ubuntu a una nueva
>     plataforma de servidores virtuales que están en Red_Hat, en uno de
>     mis nuevos servidores se instalaron dos versiones de python por
>     cuestiones de otro desarrollo, y he instalado lo que yo requiero
>     para correr mi Django y Apache con python2.7, el modulo de MySQL
>     ya lo tengo instalado y "apuntando" con mi python2.7.
>
>     [root at hubsapp ~]# pip install MySQL-python --upgrade
>     Requirement already up-to-date: MySQL-python in
>     /usr/local/lib/python2.7/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg
>
>
>     Cuando desde mi terminal entro a python V 2.7 e importo mi modulo
>     de MySQL, no tengo ningún tipo de problema  y puedo conectarme a
>     la base que deseo, mi problema empieza cuando quiero entrar a mi
>     aplicación que tengo en el puerto 81 con Django pues me arroja el
>     siguiente error:
>
>
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/models/base.py",
>     line 122, in __new__
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     new_class.add_to_class('_meta', Options(meta, **kwargs))
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/models/base.py",
>     line 297, in add_to_class
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     value.contribute_to_class(cls, name)
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/models/options.py",
>     line 166, in contribute_to_class
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     self.db_table = truncate_name(self.db_table,
>     connection.ops.max_name_length())
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/__init__.py",
>     line 40, in __getattr__
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     return getattr(connections[DEFAULT_DB_ALIAS], item)
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line
>     242, in __getitem__
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     backend = load_backend(db['ENGINE'])
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line
>     108, in load_backend
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     return import_module('%s.base' % backend_name)
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in
>     import_module
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     __import__(name)
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]   File
>     "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py",
>     line 18, in <module>
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]    
>     raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
>     [Fri Apr 17 08:53:47 2015] [error] [client 172.20.29.153]
>     ImproperlyConfigured: Error loading MySQLdb module: No module
>     named MySQLdb
>
>
>     Ya estuve buscando, pero no logró corregir esto, no sé que estoy
>     haciendo mal o que estoy dejando de hacer.
>
>
>     Mi apache esta configurado bien pues mi test page la veo sin
>     problemas en el puerto 80.
>
>
>     Esta es la configuración de VirtualHost que puse al final del
>     archivo /etc/httpd/conf/httpd.conf
>
>
>     NameVirtualHost *:81
>     Listen 81
>     <VirtualHost *:81>
>         ServerName hubs.net <http://hubs.net>
>         DocumentRoot /home/yoda
>         Errorlog "/var/log/httpd/yoda-hub-app-error-log"
>         Alias /static/ /home/yoda/static/
>
>         <Directory  /home/yoda/static >
>             Order allow,deny
>             Allow from all
>         </Directory>
>
>         <Directory  /home/yoda>
>             Order allow,deny
>             Allow from all
>         </Directory>
>         WSGIScriptAlias / /home/yoda/apache/django.wsgi
>     </VirtualHost>
>
>     El código de ../apache/django.wsgi es el siguiente
>
>
>     import os
>     import sys
>
>     sys.path.append('/home/')
>     sys.path.append('/home/yoda')
>
>     #os.environ['PYTHON_EGG_CACHE'] = '/home/yoda/python-eggs'
>     os.environ['DJANGO_SETTINGS_MODULE'] = 'yoda.settings'
>
>     import monitor
>     monitor.start(interval=1.0)
>     import django.core.handlers.wsgi
>     application = django.core.handlers.wsgi.WSGIHandler()
>
>
>
>
>     Honestamente no había trabajado con REdHat y no sé que tenga que
>     modificar para lograr levantar mi aplicación, esta misma
>     aplicación la tengo en dos sevidores Ubuntu y no tuve estos
>     detallitos al subirla.
>
>     Agradezco su apoyo y espero haber expresado mi duda.
>
>
>     Saludos y lindo día
>
>
>     @Sandibellota
>
>
>
>     _______________________________________________
>     Python-mx mailing list
>     Python-mx at python.org <mailto:Python-mx at python.org>
>     https://mail.python.org/mailman/listinfo/python-mx
>
>
>
>
> -- 
> ---
> Noe Nieto
> NNieto Consulting Services
> M: nnieto at noenieto.com <mailto:nnieto at noenieto.com>
> W: http://noenieto.com
> T: @tzicatl <https://twitter.com/#%21/tzicatl>
> Li: Perfil en LinkedIn <http://www.linkedin.com/profile/view?id=84300665>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-mx/attachments/20150421/b6becf19/attachment-0001.html>


More information about the Python-mx mailing list