“未安装带有标签"admin"的应用"在空的Django 2.2项目中 [英] "No installed app with label 'admin'" in empty Django 2.2 project

查看:164
本文介绍了“未安装带有标签"admin"的应用"在空的Django 2.2项目中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将使用与往常相同的命令在Django 2.2中启动一个新项目:

I am starting a new project in Django 2.2 using the same commands as I always do:

python3 -m venv django-env
. django-env/bin/activate
pip install django
django-admin startproject mysite
cd mysite/
python3 manage.py runserver 8080

这将导致Django网站运行,准备编写一些代码.不幸的是,现在我遇到一个奇怪的错误:

This should result in a running Django site, ready to write some code. Unfortunately, now I'm getting a strange error:

LookupError: No installed app with label 'admin'.

完整追溯:

Watching for file changes with StatReloader
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/commands/runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 77, in raise_last_exception
    raise _exception[0](_exception[1]).with_traceback(_exception[2])
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/contrib/auth/models.py", line 2, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/contrib/auth/base_user.py", line 47, in <module>
    class AbstractBaseUser(models.Model):
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/models/base.py", line 117, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/models/base.py", line 321, in add_to_class
    value.contribute_to_class(cls, name)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/models/options.py", line 204, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/__init__.py", line 28, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/utils.py", line 201, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/utils.py", line 110, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/backends/sqlite3/base.py", line 66, in <module>
    check_sqlite_version()
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/db/backends/sqlite3/base.py", line 63, in check_sqlite_version
    raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

Traceback (most recent call last):
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/apps/registry.py", line 155, in get_app_config
    return self.app_configs[app_label]
KeyError: 'admin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/commands/runserver.py", line 60, in execute
    super().execute(*args, **options)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/commands/runserver.py", line 95, in handle
    self.run(**options)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/core/management/commands/runserver.py", line 102, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 579, in run_with_reloader
    start_django(reloader, main_func, *args, **kwargs)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 564, in start_django
    reloader.run(django_main_thread)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/autoreload.py", line 272, in run
    get_resolver().urlconf_module
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/urls/resolvers.py", line 564, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ec2-user/environment/mysite/mysite/urls.py", line 20, in <module>
    path('admin/', admin.site.urls),
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/utils/functional.py", line 256, in inner
    self._setup()
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/contrib/admin/sites.py", line 529, in _setup
    AdminSiteClass = import_string(apps.get_app_config('admin').default_site)
  File "/home/ec2-user/environment/django-env/lib64/python3.6/dist-packages/django/apps/registry.py", line 162, in get_app_config
    raise LookupError(message)
LookupError: No installed app with label 'admin'.

但是,在使用pip install django==2.1.8

一切恢复正常,并按预期工作.

Everything is back to normal and works as expected.

我查看了Django 2.2发行说明以及向后不兼容的更改和不推荐使用的功能的列表,但没有发现任何内容. 任何人都可以对发生的事情有所了解吗?

I have looked at Django 2.2 release notes and list of backward incompatible changes and deprecated features and haven't found anything. Can anyone please shed some light as to what is happening?

推荐答案

关键错误早于回溯:

raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

在Django 2.2中,SQLite的最低版本为从3.7.15增加到3.8.3.您安装的版本太旧.

In Django 2.2, the minimum version of SQLite is increased from 3.7.15 to 3.8.3. Your installed version is too old.

这篇关于“未安装带有标签"admin"的应用"在空的Django 2.2项目中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆