我使用Anaconda發行版中的Python 3.4。在這個發行版中,我發現pymysql
庫連接到位於另一臺計算機上的現有MySQL數據庫。在Python中模擬MySQL數據庫
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")
我現在想編寫測試代碼我的應用程序,其中我想創建一個在每個測試用例的setUp
一個很小的數據庫,最好是在內存中。但是,當我用pymysql
來試探這個問題時,它無法建立連接。
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)")
我一直在谷歌上搜索周圍,發現約SQLite
和MySQLdb
一些事情。我有以下問題:
- 是
sqlite3
或MySQLdb
適合在內存中快速創建數據庫嗎? - 如何在Anaconda軟件包中安裝
MySQLdb
? - 有沒有在
setUp
中創建的測試數據庫的例子?這是個好主意嗎?
我沒有在本地計算機上運行的MySQL服務器。
答案很可能是* *獲得一個MySQL數據庫在本地運行。 SQLite與mysql有很多不同之處,因此用SQLite替換mysql並不是一個好的測試。 – 2015-02-10 12:45:45