【无标题】ImportError: cannot import name ‘ugettext_lazy‘ from ‘django.utils.translation‘ (D:\PYTHON3.11.

从项目上部署文件,报错:  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "D:\PYTHON3.11.2\Lib\site-packages\password_reset\urls.py", line 4, in <module> from . import views File "D:\PYTHON3.11.2\Lib\site-packages\password_reset\views.py", line 18, in <module> from .forms import PasswordRecoveryForm, PasswordResetForm File "D:\PYTHON3.11.2\Lib\site-packages\password_reset\forms.py", line 5, in <module> from django.utils.translation import ugettext_lazy as _ ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' (D:\PYTHON3.11.2\Lib\site-packages\django\utils\translation\__init__.py)


错误提示表明 password_reset 包中尝试导入 ugettext_lazy 失败。自 Django 4.0 起,ugettext_lazy 已被移除,因此需要更新代码以使用新的 gettext_lazy

以下是常规解决方案步骤:


1. 检查 Django 版本

确认项目使用的 Django 版本。运行以下命令查看:

python -m django --version

如果版本是 4.0 或更高,说明需要修改代码。


2. 修复 password_reset 包的问题

进入文件路径 D:\PYTHON3.11.2\Lib\site-packages\password_reset\forms.py,找到以下代码:

from django.utils.translation import ugettext_lazy as _

将其修改为:

from django.utils.translation import gettext_lazy as _

如果项目中的其他地方也使用了 ugettext_lazy,需要一并修改。


3. 然后重新测试。



00.我的方法是:由于我频繁的使用命令pip install django导致每次执行一次命令都会在已存在的情况下就会更新到最新版本,我的版本已经>=4.0了;  最简单的一部步直接版本安装兼容版本。

如果你无法修改 password_reset 包的代码,可以尝试安装一个与 Django 4.0 兼容的 password_reset 版本,或者降级 Django:

pip install django==3.2

然后重新测试服务器是否正常启动。

我重新安装django后整个项目就可以运行了,因为一直就是这个包import失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值