gpt4 book ai didi

python - 为什么我偶尔会使用 django-constance 遇到 ImportError?

转载 作者:行者123 更新时间:2023-12-04 11:52:18 26 4
gpt4 key购买 nike

每隔几十万个请求,我就会看到其中一个:

ImportError at /
cannot import name 'Config' from partially initialized module 'constance.base' (most likely due to a circular import) (/usr/local/lib/python3.9/site-packages/constance/base.py)
我无法确定任何押韵或原因。不对应访问 constance管理员,只是随机发生。我最好的猜测是这与 LazyObject 有关。在 constance's __init__.py ,也许重启时的随机竞争条件已过期 gunicorn worker 什么的?!
我正在使用:
  • Python 3.9.2
  • Django 3.2
  • django-constance = {extras = ["database"],version = "==2.8.*"}
  • "constance""constance.backends.database"INSTALLED_APPS (顶部)
  • CONSTANCE_BACKEND = "constance.backends.database.DatabaseBackend"
  • "constance.context_processors.config"TEMPLATES[0]["OPTIONS"]["context_processors"]

  • 我所有的代码都是 from constance import config和访问 config python 代码和 Django 模板中的标准方式的属性。
    对于它的值(value),我们一直在使用 django-constance在这个网站上多年,但直到我们升级到 2.8.0 才看到这个错误(来自 2.6.0)。我们在 Django 3.1 首次出现时使用它,但在升级到 3.2 后也出现过。
    我在 https://github.com/jazzband/django-constance/ 上找不到任何类似的错误报告
    任何想法可能导致这种情况以及如何解决它?

    最佳答案

    这是 constance 中的一个错误,已在 this 中得到解决。拉取请求。
    问题的根源在于,在此 pull request 之前,constance testsuite 没有在 Django 3.2 上运行测试,该问题已修复,并且导致您错误的更改也已发布并修复。
    这意味着在 constance's __init__.py ,现在有一个 if 子句将 Django 3.2 中的当前导入处理与旧 Django 版本分开。

    关于python - 为什么我偶尔会使用 django-constance 遇到 ImportError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68962519/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com