Domanda

Riesco a far funzionare Python con Postgresql ma non riesco a farlo funzionare con MySQL.Il problema principale è che sull'account di hosting condiviso che ho non ho la possibilità di installare cose come Django o PySQL, generalmente fallisco quando le installo sul mio computer quindi forse è un bene che non riesco a installarle sull'host.

ho trovato bpgsql davvero buono perché non richiede installazione, è un unico file che posso guardare, leggere e quindi richiamare le funzioni.Qualcuno sa qualcosa di simile per MySQL?

È stato utile?

Soluzione

MySQLdb è quello che ho usato prima.

Se il tuo host utilizza Python versione 2.5 o successiva, il supporto per i database sqlite3 è integrato (sqlite ti consente di avere un database relazionale che è semplicemente un file nel tuo file system).Ma attenzione all'acquirente, sqlite non è adatto alla produzione, quindi potrebbe dipendere da cosa stai cercando di farci.

Un'altra opzione potrebbe essere quella di chiamare il tuo host e presentare un reclamo, oppure cambiare host.Onestamente al giorno d'oggi, qualsiasi host web che si rispetti che supporti Python e MySQL dovrebbe avere MySQLdb preinstallato.

Altri suggerimenti

Non ho alcuna esperienza con http://www.SiteGround.com come host web personalmente.

Questa è solo una supposizione, ma è normale che un host condiviso supporti Python e MySQL con il modulo MySQLdb (ad esempio, GoDaddy lo fa).Prova il seguente script CGI per vedere se MySQLdb è installato.

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

L'ho caricato e ho ricevuto un errore interno

Premature end of script headers

Dopo aver giocato molto, ho scoperto che se l'avessi fatto

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

Mi darebbe una risposta molto più utile e direbbe che non è stato installato, puoi vederlo tu stesso -> http://woarl.com/db.py

Stranamente, questo produrrebbe un errore

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

Ho guardato alcuni degli altri file che avevo lassù e sembra che quella libreria fosse una di quelle che avevo già provato.

Potresti provare a configurare la tua installazione Python utilizzando Pitone virtuale.Scopri come configurare Django utilizzandolo Qui.È stato scritto molto tempo fa, ma mostra come ho ottenuto l'installazione di MySQLdb senza avere accesso root o qualcosa di simile.Una volta acquisite le nozioni di base, puoi installare qualsiasi libreria Python desideri.

Vuoi davvero MySQLdb per qualsiasi codice MySQL + Python.Tuttavia, non dovresti aver bisogno dell'accesso root o altro per usarlo.Puoi crearlo/installarlo in una directory utente (~/lib/python2.x/site-packages) e aggiungerlo semplicemente alla variabile env PYTHON_PATH.Questo dovrebbe funzionare praticamente per qualsiasi libreria Python.

Provatelo, non c'è davvero una buona alternativa.

Fai una scelta

https://docs.djangoproject.com/en/1.8/ref/databases/

MySQLdb è principalmente il driver utilizzato, ma se stai usando python3 e django 1.8.x che non funzioneranno, allora dovresti usare mysqlclient che è un folk di MySQLdb sul seguente link

https://pypi.python.org/pypi/mysqlclient

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top