Странная ошибка Python, когда я запускаю простой сценарий Django в Eclipse, не происходит в консоли - PullRequest
4 голосов
/ 11 апреля 2010

Я запускаю базовый скрипт, который сам настраивает среду django, чтобы позволить мне тестировать функции django ORM без необходимости реализации веб-страниц. Затем скрипт импортирует один из типов, определенных в моих моделях. Эта ошибка не возникает, когда я запускаю этот скрипт из iPython, только из затмения. Простое выполнение этого импорта вызывает странное исключение, подобное следующему:

Exception AttributeError: "'NoneType' object has no attribute 'print_exc'" in <bound method Signal._remove_receiver of <django.dispatch.dispatcher.Signal object at 0x026802B0>> ignored

Мой сценарий выглядит следующим образом:

from django.core.management import setup_environ
import settings
setup_environ(settings)

from stats.models import Person

for p in Person.objects.all():
     print p.Name

Ответы [ 5 ]

3 голосов
/ 21 марта 2012

После импорта существующего проекта Django в Eclipse у меня была та же ошибка AttributeError

Я только что удалил файлы * .pyc ... и это работает ...!?

  • щелкните правой кнопкой мыши по проекту -> pyDev -> remove * .pyc, * .pyo, ...
2 голосов
/ 09 декабря 2010

После некоторого рассудительного поиска в Google, я бы сказал, что Eclipse вызывает проблему и что ее может быть трудно отследить. print_exc - это функция в модуле трассировки Python. Возможно, Eclipse пытается показать вам трассировку, потерпел неудачу и съел результат в процессе.

Я думаю, что разумным обходным решением будет продолжение работы над этим сценарием в инструменте, который не предоставляет вам непостижимых ошибок. Вы можете обнаружить фактическую (исправимую) ошибку в своем коде или обнаружите, что Eclipse выдал ложную тревогу из-за ошибки в его интеграции с Python.

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

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

Не могли бы вы дать более подробную информацию, например, модель Person.

Не видя, что я предполагаю, что атрибут модели должен быть в нижнем регистре (т. Е. P.name)

0 голосов
/ 23 октября 2010

Насколько я вижу, у вас нет проблем с импортом ваших модулей. Попробуйте, чтобы проверить, готово ли все необходимое для вас. Возможно, это не является причиной вашей проблемы, но лучше тоже проверить это

iPuthon автоматически импортирует системный путь django, поэтому все, что вам нужно, всегда готово.

import sys
sys.path

проверьте это, чтобы увидеть, все ли вам нужно, когда вы запускаете его из Eclipse, FIFF с результатом ipython ...

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

Возможно, что Eclipse использует другую версию интерпретатора Python?

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