2010-07-31 61 views
0

我使用Macports設置了Mysql5,mysql5-server和py26-mysql。然後我啓動了mysql服務器,並能夠啓動提示mysql5Django MySql設置

在我的settings.py中,我將database_engine更改爲「mysql」,並將「dev.db」放入database_name中。

由於數據庫尚不存在,我將用戶名和密碼留空。

當我跑python manage.py syncdb,Django的產生錯誤

「django.core.exceptions.ImproperlyConfigured:錯誤加載MySQLdb的模塊:動態模塊沒有定義初始化函數(init_mysql)`

如何解決這個?我必須先創建數據庫嗎?這是別的嗎?

+2

您是否使用也來自MacPorts的Python版本?通常情況下,您無法將系統版本的Python與MacPorts獲取的擴展模塊結合使用。 – 2010-07-31 03:41:30

+0

不,我正在使用自己安裝的python 2.6。當我使用Pinax時,我也有虛擬環境工作。我應該從macports安裝python 2.6嗎?還要別的嗎? – Ali 2010-07-31 03:51:09

回答

1

你需要安裝MySQLdb的:http://sourceforge.net/projects/mysql-python/

這可能是根據您的設置一個痛苦的過程。請參閱其他討論的SO關於MySQLdb的安裝Mac OS X上:

How to install MySQLdb (Python data access library to MySQL) on Mac OS X?

編輯:對不起,脫脂過去,你已經通過py26 MySQL的安裝MySQLdb的事實,但這個錯誤似乎指向的東西,去該安裝錯誤。我在Mac OS X上遇到了很多與MySQLdb有關的問題,總是有些不同,我必須做才能使它工作。

1

syncdb不會爲您創建數據庫 - 它只會創建您的架構中不存在的表。您需要:

  • 創建一個用戶'擁有'數據庫(root是一個不好的選擇)。
  • 用該用戶創建數據庫。
  • 使用正確的數據庫名稱,用戶和密碼更新Django數據庫設置。
+0

當我從mysql提示符創建數據庫時,它在哪裏存儲數據庫?我如何找到它的路徑? – Ali 2010-07-31 16:34:37

+1

@Ali,這取決於你的操作系統和你的配置文件。在大多數Unix上,您可以在/ var/lib/mysql下找到數據庫文件。有關更多詳細信息,請參閱:http://dev.mysql.com/doc/refman/5.5/en/installation-layouts.html – 2010-07-31 18:37:07