2016-01-01 3 views
4

Я на Django 1.8.7, и я только что установил Django-Allauth, клонируя репо и запуская установку pip в каталоге приложения в моем webapp на терминале. Теперь, когда я бегу manage.py мигрируют, я получаю эту ошибку:ImportError: не может импортировать имя RemovedInDjango19Warning

➜src git:(master) ✗ python manage.py migrate 
    Traceback (most recent call last): 
     File "manage.py", line 8, in <module> 
     from django.core.management import execute_from_command_line 
     File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 10, in <module> 
     from django.apps import apps 
     File "/Library/Python/2.7/site-packages/django/apps/__init__.py", line 1, in <module> 
     from .config import AppConfig 
     File "/Library/Python/2.7/site-packages/django/apps/config.py", line 6, in <module> 
     from django.utils.module_loading import module_has_submodule 
     File "/Library/Python/2.7/site-packages/django/utils/module_loading.py", line 4, in <module> 
     from importlib import import_module 
     File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 6, in <module> 
     from django.utils.deprecation import RemovedInDjango19Warning 
    ImportError: cannot import name RemovedInDjango19Warning 
    ➜ src git:(master) ✗ 

enter image description here

Я проверил, и я до сих пор на Джанго 1.8.7, так что не случайно повышен.

+0

, что интересная ошибка, насколько я могу сказать, нет таких исключений даже не существует в проекте Django, по крайней мере, мои поиски RemovedInDjango19Warning подошел пустым. –

+1

@ChrisHawkes Он существует в [Django 1.7] (https://github.com/django/django/blob/82e651e9485fb7d6a64853c941e804fafb9b7606/django/utils/deprecation.py#L5) и [Django 1.8] (https://github.com /django/django/blob/1261c49690e25c9887f88b7d7f391764f01e1992/django/utils/deprecation.py#L14). – knbk

ответ

6

@MaxRah Это вызвано конфликтами в версиях Django. Как уже упоминалось другими, вам нужно будет удалить pip удалить django и переустановить вашу предпочитаемую версию: pip install django == 1.9 Это должно решить проблему.

1

Ваша установка повреждена, ваша трассировка не соответствует коду версии 1.8.7 (from importlib import import_module находится на line 8, а не на линии 4). Вам необходимо удалить Django и выполнить чистую установку.

Я настоятельно рекомендую настроить виртуальную среду для проекта Django, используя virtualenv. Это де-факто стандарт для разделения различных сред python на вашей системе. Коррупция, вероятно, возникла из-за того, что разные проекты пытались установить разные версии Django в ваших общесистемных пакетах сайтов.

+0

Спасибо. Я фактически использую virtualenv. Я думаю, что что-то случилось, когда я устанавливал allauth, чтобы вызвать коррупцию. У вас есть полезная ссылка о том, как сделать чистую деинсталляцию django? – MaxRah

+0

@MaxRah Просто удалите, удалите каталог 'django' в ваших' site-packages', если он все еще существует, и переустановите. – knbk

+0

Благодаря @knbk переустановка django исправила его. – MaxRah

0

Я получаю эту ошибку при попытке использовать хроны-задания на питоне (с использованием библиотеки Kronos)

#getting error while trying to run kronos cron job 
python manage.py runtask complain 

, как @ olivrg metioned это исправило проблему (переустановку Джанго в моем случае я использовал версию 1.8. X, так что я повышен до 1.9x)

sudo pip uninstall django 

sudo pip install django==1.9 
Смежные вопросы