Python + Django ImportError:не удается импортировать сигналы имен из Python2.5 в Python2.7
-
28-09-2019 - |
Вопрос
У меня установлена django-registration.Я только что обновил свою установку Python с 2.5 до 2.7.
Все работает нормально, но когда я пытаюсь запустить свое приложение Django, я получаю сообщение об ошибке, приведенное ниже.
C:\django\pley>python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x02FA6830>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.
py", line 48, in inner_run
self.validate(display_num_errors=True)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 249,
in validate
num_errors = get_validation_errors(s, app)
File "C:\Python27\lib\site-packages\django\core\management\validation.py", lin
e 28, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 146, in
get_app_errors
self._populate()
File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 64, in
_populate
self.load_app(app_name)
File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 78, in
load_app
models = import_module('.models', app_name)
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\django\pley\..\pley\accounts\models.py", line 3, in <module>
from registration import signals
ImportError: cannot import name signals
Если вам нужна более подробная информация, например, код для других файлов, просто прокомментируйте этот вопрос, чтобы я мог обновить.
Решение 2
Хорошо, я собираюсь ответить на этот вопрос сам.Спасибо багамским островам от #django freenode.
Сначала перейдите в свою оболочку Python
>>> import registration
>>> print registration.__file__
/home/wenbert/.local/lib/python/registration/__init__.pyc
Сделайте:
$ ls -la /home/wenbert/.local/lib/python/registration
Я не нашел signals.py
в справочнике.
Итак, загрузите файл tar.gz с: https://bitbucket.org/ubernostrum/django-registration/src и переустановите.
TL;DR У меня была сломана установка (нет signals.py) django-registration.Загрузите из исходного кода и переустановите вручную.
Другие советы
По-моему, все в порядке.Когда ты распаковываешь вещи django-регистрация вы получаете 2 папки doc
и registration
.В registration
папка, в которой у вас есть файл под названием signals.py
.Это именно тот файл, который пытается импортировать ваше приложение django.
Либо посмотрите, добавили ли вы django-registration
как INSTALLED_APPS в вашем проекте settings.py .