我已经通过MacOS X 10.5.6上的MacPorts安装了以下内容:
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 beta的新副本(我在1.0和trunk中遇到了同样的问题)并安装了“sudo python setup.py install
”。
事情似乎通过交互式解释器正确加载:
$ 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
可是:
$ 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
如果我将DATABASE_ENGINE
中的settings.py
更改为“sqlite3
”,我会得到以下看似相关的问题:
$ 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$
我发誓这几天都工作了,我不记得改变任何与Django或Python相关的东西,安装方式。
我的各种Google冒险经历都没有用。那么......有什么想法吗?
修改:'syncdb
'提出了相同的例外情况。
答案 0 :(得分:1)
我在Django Users组中找到了这个thread:
他们认为这与MacPorts安装Python的方式有关。我希望我有更多的细节可以帮助您,但作为一种解决方法,我建议您使用MacPorts卸载此Python副本并尝试使用其他方法安装它。如果您正在寻找快速简便的安装方式,可以尝试MacPython。希望这有帮助!
答案 1 :(得分:0)
如果你遵循这个文档,你至少可以说,“在步骤XXXX它有错误YYY”。然后有经验的人(不是我)应该能够找到一个好的答案。此链接适用于主干,顶部有1.0个文档的链接。
答案 2 :(得分:0)
python manage.py syncdb
这将构建您的数据库,以便您可以运行服务器。
答案 3 :(得分:0)
重新检查您的settings.py。在第二种情况下,看起来您的DATABASE_ENGINE设置为空字符串,而不是'sqlite3'。
答案 4 :(得分:0)
这不是答案,确切地说,但我会尝试删除Django的MacPorts安装并重新开始。然后尝试添加easy_install并使用它来安装所有内容。为了使事情更清晰,更容易重新开始,您可能还需要添加virtualenv,这样可以设置多个自包含的Python环境。
答案 5 :(得分:0)
如果您还没有安装py25-hashlib软件包,也可以尝试安装它。我在django bug tracking site上找到了这个描述。
通常情况下,这个包是python的一部分,但是从我读过的内容来看,它在macports版本中是丢失的还是错误的。
我在pyport-hashlib here的macports版本上找到了更多信息。
答案 6 :(得分:0)
尝试使用python的完整路径以及检查模块路径