2009-04-10 34 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以及检查模块路径

相关问题