ImportError:无法导入名称RemovedInDjango19Warning

时间:2016-01-01 14:42:08

标签: python django python-2.7 django-models django-allauth

我正在使用Django 1.8.7,我刚刚通过克隆repo并在终端上的webapp中的应用程序目录中运行pip install来安装Django-Allauth。现在,当我运行manage.py migrate时,我收到此错误:

➜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

我已经检查过了,我仍然在使用django 1.8.7,因此没有意外升级。

4 个答案:

答案 0 :(得分:8)

@MaxRah这是由Django版本中的冲突引起的。如其他人所述,您必须删除 pip uninstall django 并重新安装您的首选版本: pip install django == 1.9 这应该可以解决问题。

答案 1 :(得分:1)

您的安装已损坏,您的回溯与版本1.8.7中的代码不匹配({{1}}在line 8上,而不是第4行)。您需要卸载Django并进行全新安装。

我强烈建议您使用virtualenv为Django项目设置虚拟环境。这是分离系统中不同python环境的事实标准。可能发生了损坏,因为不同的项目试图在您的系统范围的站点包中安装不同版本的Django。

答案 2 :(得分:1)

我在尝试在python上使用cron-jobs时遇到此错误(使用kronos库)

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

正如@ olivrg提到的那样修复了这个问题(在我的情况下重新安装django我使用的是1.8.X版本,所以我升级到1.9X)

sudo pip uninstall django

sudo pip install django==1.9

答案 3 :(得分:0)

pip install -Ur requirements.txt

使用此命令将有效