2008-08-03 18 views
34

Ich kann Python mit Postgresql arbeiten, aber ich kann es nicht mit MySQL arbeiten. Das Hauptproblem ist, dass ich auf dem Shared-Hosting-Account, den ich habe, nicht die Möglichkeit habe, Dinge wie Django oder PySQL zu installieren. Ich scheitere im Allgemeinen bei der Installation auf meinem Computer, vielleicht ist es gut, dass ich nicht auf dem Host installieren kann.Python und MySQL

Ich fand bpgsql wirklich gut, weil es keine Installation erfordert, es ist eine einzelne Datei, die ich anschauen, lesen und dann die Funktionen aufrufen kann. Kennt jemand so etwas für MySQL?

Antwort

23

MySQLdb ist, was ich vorher benutzt habe.

Wenn Ihr Host Python Version 2.5 oder höher verwendet, ist die Unterstützung für sqlite3 Datenbanken integriert (sqlite erlaubt Ihnen, eine relationale Datenbank zu haben, die einfach eine Datei in Ihrem Dateisystem ist). Aber Vorsicht, sqlite ist nicht für die Produktion geeignet, daher kann es darauf ankommen, was Sie damit machen wollen.

Eine andere Möglichkeit kann sein, Ihren Host anzurufen und sich zu beschweren oder Hosts zu wechseln. Ehrlich gesagt sollte heutzutage jeder Web-Host, der Python und MySQL unterstützt, MySQLdb vorinstalliert haben.

7

Ich habe keine Erfahrung mit http://www.SiteGround.com als Webhost persönlich.

Dies ist nur eine Vermutung, aber es ist üblich, dass ein gemeinsam genutzter Host Python und MySQL mit dem MySQLdb-Modul unterstützt (z. B. GoDaddy tut dies). Probieren Sie das folgende CGI-Skript aus, um zu sehen, ob MySQLdb installiert ist.

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

in meinem neuen goddady mit cPanel Hosting, nicht sie mysqldb haben :(aber es war in meinem alten ... warum haben sie abnehmen? – fersarr

6

ich hochgeladen es und bekam einen internen Fehler

Premature end of script headers 

Nach viel um zu spielen, fand ich, dass, wenn ich

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

Es würde mir eine viel nützlichere Antwort und sagen, dass es nicht installiert wurde, können Sie es selbst sehen ->http://woarl.com/db.py

Seltsam genug Dies würde einen Fehler

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

ich einige der anderen Dateien sah ich hatte dort produzieren und diese Bibliothek war, scheint einer von denen hatte ich schon versucht.

6

Sie könnten versuchen, Ihre eigene Python-Installation mit Virtual Python einzurichten. Sehen Sie sich an, wie Sie Django mit der here einrichten können. Das wurde vor langer Zeit geschrieben, aber es zeigt, wie ich MySQLdb Setup ohne root-Zugriff oder ähnliches eingerichtet habe. Sobald Sie mit den Grundlagen fertig sind, können Sie jede gewünschte Python-Bibliothek installieren.

4

Sie möchten wirklich MySQLdb für jeden MySQL + Python-Code. Sie sollten jedoch keinen Root-Zugriff benötigen oder irgendetwas, um es zu verwenden. Sie können es in einem Benutzerverzeichnis erstellen/installieren (~/lib/python2.x/site-packages), und fügen Sie das einfach zu Ihrer PYTHON_PATH env-Variablen hinzu. Dies sollte für fast jede Python-Bibliothek funktionieren.

Probieren Sie es aus, es gibt wirklich keine gute Alternative.