2008-08-03 16 views
34

Puedo hacer que Python trabaje con Postgresql pero no consigo que funcione con MySQL. El principal problema es que en la cuenta de alojamiento compartido que tengo no tengo la capacidad de instalar cosas como Django o PySQL, generalmente fallo al instalarlos en mi computadora, así que tal vez sea bueno que no pueda instalarlo en el host.Python y MySQL

Encontré bpgsql realmente bueno porque no requiere una instalación, es un archivo único que puedo mirar, leer y luego llamar a las funciones de. ¿Alguien sabe algo como esto para MySQL?

Respuesta

23

MySQLdb es lo que he usado antes.

Si el host está utilizando Python versión 2.5 o superior, está soportado el soporte para bases de datos sqlite3 (sqlite le permite tener una base de datos relacional que es simplemente un archivo en su sistema de archivos). Pero tenga en cuenta al comprador, sqlite no es adecuado para la producción, por lo que puede depender de lo que intente hacer con él.

Otra opción es llamar al host y presentar una queja o cambiar de host. Honestamente en estos días, cualquier host web que se precie y soporte python y mysql debe tener preinstalado MySQLdb.

7

No tengo ninguna experiencia con http://www.SiteGround.com como un proveedor de alojamiento web personalmente.

Esto es sólo una suposición, pero es común que un host compartido admita Python y MySQL con el módulo MySQLdb (por ejemplo, GoDaddy lo hace). Pruebe la siguiente secuencia de comandos CGI para ver si MySQLdb está instalado.

#!/usr/bin/python 

module_name = 'MySQLdb' 
head = '''Content-Type: text/html 

%s is ''' % module_name 

try: 
    __import__(module_name) 
    print head + 'installed' 
except ImportError: 
    print head + 'not installed' 
+0

en mi nuevo Goddady hosting con cpanel, que no tiene MySQLdb :(pero fue en mi viejo ... ¿por qué lo sacan? – fersarr

6

he subido y obtuve un error interno

Premature end of script headers 

Después de mucho jugando, he encontrado que si tuviera

import cgi 
import cgitb; cgitb.enable() 
import MySQLdb 

Sería darme una respuesta mucho más útil y diga que no fue instalado, puede verlo usted mismo ->http://woarl.com/db.py

Curiosamente , Esto podría producir un error

import MySQLdb 
import cgi 
import cgitb; cgitb.enable() 

Miré a algunos de los otros archivos que tenía allí y parece que la biblioteca era uno de los que ya había probado.

6

Puede intentar configurar su propia instalación de python usando Virtual Python. Vea cómo configurar Django usando el here. Eso fue escrito hace mucho tiempo, pero muestra cómo obtuve la configuración de MySQLdb sin tener acceso de root ni nada parecido. Una vez que tenga los conceptos básicos en marcha, puede instalar cualquier biblioteca de Python que desee.

4

Realmente quiere MySQLdb para cualquier código MySQL + Python. Sin embargo, no debería necesitar acceso de root ni nada para usarlo. Puede compilarlo/instalarlo en un directorio de usuario (~/lib/python2.x/site-packages) y simplemente agregarlo a su variable de entorno PYTHON_PATH. Esto debería funcionar para casi cualquier biblioteca de Python.

Dale una oportunidad, realmente no hay una buena alternativa.