2011-11-13 50 views
0

我已閱讀Django文檔(供參考,https://docs.djangoproject.com/en/1.3/intro/tutorial01/),但我仍然有問題設置Django項目以使用數據庫。因爲我對網絡開發不熟悉,所以我想我會從SQLite開始開發,因爲我沒有將任何東西投入到生產環境中,並且對數據庫沒有太多經驗。 (雖然我會很好地從MySQL或PostgreSQL開始)。如何使用Django項目設置SQLite?

在我的Django項目文件夾中,我知道我需要編輯settings.py文件夾來指定數據庫和其他一些東西。的問題是,當我運行在終端python manage.py syncdb,它失敗此消息:

django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 
or sqlite3 modules (tried in that order): No module named _sqlite3 

我假設我的問題的部分是,我安裝從源代碼的Python(2.7)(深入在How would I build python myself from source code on Ubuntu?解釋) ,但我的終端可能默認爲在Ubuntu上默認安裝的Python。或者我想這可能是我從源代碼構建的Python(2.7)沒有鏈接到SQLite。或者我想這可能是我需要在DATABASES的NAME項下的settings.py中指定一個SQLite文件,雖然我很確定這對SQLite來說不是必需的。

任何人都可以識別罪魁禍首嗎?我將如何解決這個問題作爲一個長期的解決方案(即,有什麼辦法可以消除在Ubuntu上有兩個共同存在的Python安裝的不明確性?)最重要的是,我需要做些什麼來設置一個工作數據庫?

+2

http://stackoverflow.com/questions/1210664/no-module-named-sqlite3 –

+0

你的自定義Python在哪裏安裝?剛剛從你的'PATH'中刪除它可能會解決問題。 –

+0

另外,如果您不確定是否安裝了pysqlite2,則可以使用easy_install使其正常運行。只是谷歌。 – Paul

回答

4

執行'sudo apt-get install libsqlite3-dev',然後重新編譯Python 2.7。從長遠來看,爲了減少共存Python安裝和軟件包的不明確性,我強烈建議安裝pip,virtualenv和virtualenvwrapper。

+0

我已經做了sudo apt-get install libsqlite3-dev。我不知道如何重新編譯。你能解釋一下嗎? (我是Linux新手。) –

+1

「重新編譯」意味着從源代碼構建,這就是你說的你所做的:) –

+0

謝謝哈哈。我應該可以猜到,經過3年的Java大聲笑 –