2008-08-03 11 views
34

Je peux faire fonctionner Python avec Postgresql mais je n'arrive pas à le faire fonctionner avec MySQL. Le problème principal est que sur le compte d'hébergement partagé je n'ai pas la possibilité d'installer des choses telles que Django ou PySQL, j'échoue généralement lors de leur installation sur mon ordinateur alors peut-être que je ne peux pas installer sur l'hôte.Python et MySQL

J'ai trouvé bpgsql vraiment bon car il ne nécessite pas d'installation, c'est un fichier unique que je peux regarder, lire, puis appeler les fonctions de. Est-ce que quelqu'un sait quelque chose comme ça pour MySQL?

Répondre

23

MySQLdb est ce que j'ai déjà utilisé.

Si votre hôte utilise Python version 2.5 ou supérieure, le support des bases de données sqlite3 est intégré (sqlite vous permet d'avoir une base de données relationnelle qui est simplement un fichier dans votre système de fichiers). Mais attention, sqlite n'est pas adapté à la production, donc cela peut dépendre de ce que vous essayez d'en faire.

Une autre option peut être d'appeler votre hôte et de se plaindre, ou changer les hôtes. Honnêtement ces jours-ci, n'importe quel hébergeur respectueux de soi qui supporte python et mysql devrait avoir préinstallé MySQLdb.

7

Je n'ai aucune expérience avec http://www.SiteGround.com comme hébergeur personnellement.

Ceci est juste une supposition, mais il est commun pour un hébergement mutualisé pour soutenir Python et MySQL avec le module MySQLdb (par exemple, le fait GoDaddy). Essayez le script CGI suivant pour voir si MySQLdb est installé.

#!/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

dans mon nouveau Goddady hébergement avec cPanel, ils n'ont mysqldb :(mais il était dans mon ancien ... pourquoi ont-ils l'enlever? – fersarr

6

Je téléchargé et ai eu une erreur interne

Premature end of script headers 

Après beaucoup de jouer autour, je trouve que si j'avais

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

Il me donnerait une réponse beaucoup plus utile et dire qu'il n'a pas été installé, vous pouvez le voir vous-même ->http://woarl.com/db.py

Étrangement , Cela produirait une erreur

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

Je regardais quelques-uns des autres dossiers que j'avais là-bas et il semble que la bibliothèque était l'un de ceux que j'avais déjà essayé.

6

Vous pouvez essayer de créer votre propre installation de python utilisant Virtual Python. Découvrez comment configurer Django en l'utilisant here. Cela a été écrit il y a longtemps, mais cela montre comment j'ai obtenu l'installation de MySQL sans l'accès root ou quelque chose comme ça. Une fois que vous avez les bases, vous pouvez installer n'importe quelle bibliothèque Python que vous voulez.

4

Vous voulez vraiment MySQLdb pour tout code Python MySQL +. Cependant, vous ne devriez pas avoir besoin d'un accès root ou quoi que ce soit pour l'utiliser. Vous pouvez le construire/installer dans un répertoire utilisateur (~/lib/python2.x/site-packages), et ajoutez-le simplement à votre variable d'environnement PYTHON_PATH. Cela devrait fonctionner pour n'importe quelle bibliothèque python.

Donnez-lui un coup de feu, il n'y a vraiment pas une bonne alternative.