ImportError: cannot import name RemovedInDjango19Warning

ImportError: cannot import name RemovedInDjango19Warning

我使用的是 Django 1.8.7,我刚刚通过克隆 repo 安装了 Django-Allauth 并 运行在终端上我的 webapp 的应用程序目录中安装了 pip。现在,当我 运行 manage.py 迁移时,出现此错误:

➜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) ✗ 

我已经检查过,我仍在使用 django 1.8.7,所以它不是意外升级的。

您的安装已损坏,您的回溯与版本 1.8.7 中的代码不匹配(from importlib import import_moduleline 8,而不是第 4 行)。您需要卸载 Django 并进行全新安装。

我强烈建议使用 virtualenv 为您的 Django 项目设置一个虚拟环境。这是分隔系统上不同 python 环境的事实标准。发生损坏的原因可能是不同的项目试图在您的 system-wide 站点包中安装不同版本的 Django。

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

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

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

@olivrg 提到这解决了问题(在我使用版本 1 的情况下重新安装 django。8.X 所以我升级到 1.9X)

sudo pip uninstall django

sudo pip install django==1.9

pip install -Ur requirements.txt

使用这个命令就可以了