Simulieren Sie eine MySQL-Datenbank in Python

Verwende ich Python 3.4 von der Anaconda distribution. Innerhalb dieser Verteilung fand ich die pymysql Bibliothek, um eine Verbindung zu einer vorhandenen MySQL-Datenbank, die auf einem anderen computer befindet.

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")

Möchte ich nun schreiben Sie test-code für meine Anwendung, in die ich möchte, um eine sehr kleine Datenbank an der setUp jeder Testfall, vorzugsweise im Speicher. Jedoch, wenn ich versuche, dies aus heiterem Himmel mit pymysql es nicht eine Verbindung herzustellen.

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)")

Ich habe schon gegoogelt um und fand einige Dinge über SQLite und MySQLdb. Ich habe die folgenden Fragen:

  1. Ist sqlite3 oder MySQLdb geeignet für die Erstellung schnell eine Datenbank im Speicher?
  2. Wie installiere ich MySQLdb innerhalb der Anaconda-Paket?
  3. Ist es ein Beispiel für eine test-Datenbank erstellt, in der setUp? Ist das überhaupt eine gute Idee?

Habe ich nicht einen MySQL-server läuft lokal auf meinem computer.

  • Die Antwort kann gut sein, um eine mysql db lokal läuft. SQLite hat viele Unterschiede zu mysql, also wäre es nicht ein guter test, um zu ersetzen, mysql mit SQLite.
Schreibe einen Kommentar