升级Django到4.x后rest_auth引发ImportError问题求助
升级Django到4.x后rest_auth引发ImportError问题求助
我最近正在把项目从Django 3.2升级到4.0版本,结果遇到了一个导入错误,折腾半天没搞明白,来求助大家!
升级后弹出的错误提示如下:
ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation'
查了错误来源,发现是rest_auth/registration/serializers.py里的这行导入语句引发的问题:
from django.utils.translation import ugettext_lazy as _
说下我的环境:目前用的是Django 4.0.10,搭配djangorestframework 3.13.0。之前看DRF的发布说明,v3.13.0应该是支持Django 4.0的,后来我又换成了v3.14.0试了试,结果还是报同样的错,实在搞不懂哪里遗漏了。
附上完整的错误追踪栈:
Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run autoreload.raise_last_exception() File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception raise _exception[1] File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/core/management/__init__.py", line 398, in execute autoreload.check_errors(django.setup)() File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/apps/registry.py", line 116, in populate app_config.import_models() File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/django/apps/config.py", line 304, in import_models self.models_module = import_module(models_module_name) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/Users/Panos/rdhq_env/rdhq_django/cal_submit/models.py", line 19, in <module> from races.serializers import RaceSerializer File "/Users/Panos/rdhq_env/rdhq_django/races/serializers.py", line 9, in <module> from users.serializers import UserField, SerializerImageMixin File "/Users/Panos/rdhq_env/rdhq_django/users/serializers.py", line 2, in <module> from rest_auth.registration.serializers import RegisterSerializer as _RegisterSerializer File "/Users/Panos/rdhq_env/lib/python3.8/site-packages/rest_auth/registration/serializers.py", line 2, in <module> from django.utils.translation import ugettext_lazy as _ ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation'
备注:内容来源于stack exchange,提问作者Panos
相关产品推荐
相关产品推荐

