2009-04-10 28 views
0

我得到了下面的安裝通過MacPorts的在MacOS X 10.5.6:「導入錯誤:沒有模塊名爲虛擬」新鮮Django項目

py25-sqlite3 @2.5.4_0 (active) 
python25 @2.5.4_1+darwin_9+macosx (active) 
sqlite3 @3.6.12_0 (active) 

python25正確設置爲我的系統的默認的Python。

我下載的Django 1.1測試版的新副本(我有1.0和軀幹同樣的問題,雖然),並以「sudo python setup.py install」安裝它。

事情似乎通過交互式解釋正確加載:如果我在settings.py改變DATABASE_ENGINE

$ django-admin.py startproject foo 
$ cd foo/ 
$ python manage.py runserver 
Validating models... 
Unhandled exception in thread started by <function inner_run at 0x6c1e70> 
Traceback (most recent call last): 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run 
    self.validate(display_num_errors=True) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/validation.py", line 22, in get_validation_errors 
    from django.db import models, connection 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/db/__init__.py", line 22, in <module> 
    backend = __import__('%s.base' % settings.DATABASE_ENGINE, {}, {}, ['']) 
ImportError: No module named dummy.base 

爲 「sqlite3」,我得到下面,看似相關的問題:

$ python 
Python 2.5.4 (r254:67916, Apr 10 2009, 16:02:52) 
[GCC 4.0.1 (Apple Inc. build 5490)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import django 
>>> import sqlite3 
>>> ^D 

但是:

$ python manage.py runserver 

Validating models... 
Unhandled exception in thread started by <function inner_run at 0x6c1e70> 
Traceback (most recent call last): 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run 
    self.validate(display_num_errors=True) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/core/management/validation.py", line 22, in get_validation_errors 
    from django.db import models, connection 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/django/db/__init__.py", line 22, in <module> 
    backend = __import__('%s.base' % settings.DATABASE_ENGINE, {}, {}, ['']) 
ImportError: No module named base 
^C$ 

我sw耳朵這一切都工作了幾天前,我不記得改變任何有關Django或Python,安裝明智。

我的各種谷歌冒險變得沒有用。那麼......任何想法?

編輯:'syncdb'引發同樣的例外。

回答

1

我發現這個thread上Django的用戶組:

他們認爲它是與MacPorts的安裝Python的方式。我希望我有更多的細節可以幫助您,但作爲一種解決方法,我建議您使用MacPorts卸載此Python副本並嘗試使用替代方法來安裝它。如果你正在尋找一個快速和簡單的安裝,你可能想嘗試MacPython。希望這可以幫助!

0

您是否嘗試過介紹文檔? doc link

如果你按照這個文檔,你至少可以說,「在步驟XXXX它得到了錯誤YYY」。然後有經驗的人(不要我)應該能夠找到一個好的答案。此鏈接用於主幹,頂部有1.0文檔的鏈接。

+0

嗯,你可以從我的問題推斷,但如果你想有一個文檔參考,這裏就是我開始看到異常:「更改成mysite目錄,如果你還沒有,並運行python manage.py runserver命令。「 – Tyson 2009-04-11 01:12:10

0

呃,我沒在想。只要運行

python manage.py syncdb 

這將爲你DB這樣你就可以運行服務器。

+0

我應該提到'syncdb'會引發相同的確切錯誤。 – Tyson 2009-04-11 01:10:04

0

重新檢查您的settings.py。在第二種情況下,它看起來像你的DATABASE_ENGINE被設置爲空字符串,而不是'sqlite3'。

+0

都不工作。更何況,Django允許你不指定數據庫後端,反正。 – Tyson 2009-04-13 06:01:25

+0

我會說你已經設法軟管你的Django安裝莫名其妙。 – 2009-04-14 14:22:30

+0

我從頭重新安裝它 - 仍然沒有運氣。 :/ – Tyson 2009-04-14 21:07:28

0

這完全不是答案,但我會嘗試刪除Django的MacPorts安裝並重新開始。然後嘗試添加easy_install並使用它來安裝所有內容。爲了讓事情更簡潔,更容易重新開始,您可能還需要添加virtualenv,它允許您設置多個自包含的Python環境。

0

如果您還沒有安裝py25-hashlib軟件包,也可以嘗試安裝。我發現這在django bug tracking site上描述過。

通常情況下,這個軟件包是python的一部分,但它在macports版本中缺失或者錯誤,從我讀過的內容中可以看出。

我在py25-hashlib here的macports版本找到了更多信息。

0

嘗試使用完整的路徑到Python以及檢查模塊路徑

相關問題