Io uso Python 3.4 dalla distribuzione Anaconda. All'interno di questa distribuzione, ho trovato la libreria pymysql
per connettersi a un database MySQL esistente, che si trova su un altro computer.Mock un database MySQL in Python
import pymysql
config = {
'user': 'my_user',
'passwd': 'my_passwd',
'host': 'my_host',
'port': my_port
}
try:
cnx = pymysql.connect(**config)
except pymysql.err.OperationalError :
sys.exit("Invalid Input: Wrong username/database or password")
Ora voglio scrivere codice di prova per la mia domanda, nella quale voglio creare un piccolo database al setUp
di tutti i casi di test, preferibilmente in memoria. Tuttavia, quando provo tutto ciò con il blu pymysql
, non è possibile stabilire una connessione.
def setUp(self):
config = {
'user': 'test_user',
'passwd': 'test_passwd',
'host': 'localhost'
}
cnx = pymysql.connect(**config)
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)")
Ho stato googling intorno, e hanno trovato alcune cose su SQLite
e MySQLdb
. Ho le seguenti domande:
- E`
sqlite3
oMySQLdb
adatto per la rapida creazione di un database in memoria? - Come installare
MySQLdb
all'interno del pacchetto Anaconda? - Esiste un esempio di un database di test, creato nello
setUp
? Questa è anche una buona idea?
Non ho un server MySQL in esecuzione sul computer locale.
la risposta potrebbe essere quella di ottenere * * un db MySQL in esecuzione a livello locale. SQLite ha molte differenze con mysql quindi non sarebbe un buon test per sostituire mysql con SQLite. –