«ImportError: нет модуля с именем dummy» в новом проекте Django - PullRequest
0 голосов
/ 11 апреля 2009

У меня установлено следующее через MacPorts на MacOS X 10.5.6:

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".

Кажется, что вещи загружаются правильно через интерактивный переводчик:

$ 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' вызывает те же исключения.

Ответы [ 7 ]

1 голос
/ 15 апреля 2009

Я нашел эту тему в группе пользователей Django:

Они предполагают, что это как-то связано с тем, как MacPorts устанавливает Python. Я хотел бы иметь больше деталей, чтобы помочь вам, но в качестве обходного пути, я рекомендую вам использовать MacPorts для удаления этой копии Python и попробовать использовать альтернативный способ ее установки. Если вы ищете быструю и простую установку, вы можете попробовать MacPython . Надеюсь, это поможет!

0 голосов
/ 17 апреля 2009

Попробуйте использовать полный путь к python, а также проверьте путь к модулю

0 голосов
/ 16 апреля 2009

Вы также можете попробовать установить пакет py25-hashlib, если у вас его еще нет. Я нашел это описанным на сайте отслеживания ошибок django .

Обычно этот пакет является частью python, но он либо отсутствует, либо неверен в версии macports, из того, что я прочитал.

Я нашел больше информации о macports версии py25-hashlib здесь .

0 голосов
/ 15 апреля 2009

Это не совсем ответ, но я бы попытался удалить установку Django для MacPorts и начать все сначала. Затем попробуйте добавить easy_install и использовать его для установки всего. Чтобы сделать вещи чище и проще начать все сначала, вы также можете добавить virtualenv , который позволит вам настроить несколько автономных сред Python.

0 голосов
/ 11 апреля 2009

Перепроверьте ваши settings.py. Во втором случае похоже, что для вашей DATABASE_ENGINE задана пустая строка, а не «sqlite3».

0 голосов
/ 11 апреля 2009

Дух, я не думаю. Просто беги

python manage.py syncdb

это создаст вам базу данных, чтобы вы могли запустить сервер.

0 голосов
/ 11 апреля 2009

вы пробовали вступительный документ? ссылка на документ

Если вы следуете этому документу, вы можете, по крайней мере, сказать: «на шаге XXXX он получил ошибку YYY». Тогда кто-то с некоторым опытом (не я) должен быть в состоянии найти хороший ответ. Эта ссылка для транка, вверху есть ссылка для 1.0 документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...