Windows下执行Django makemessages命令报错:找不到django.pot文件
Windows下Django makemessages报错找不到django.pot的解决办法
问题根源
Windows系统里的gettext工具对包含非ASCII字符的路径(比如你路径里的İş masası)兼容性较差,无法正确解析特殊字符路径,导致生成或读取django.pot文件失败;而Ubuntu系统对这类路径支持更完善,所以能正常执行命令。
可行解决步骤
1. 移动项目到无特殊字符路径(最快解决)
直接把项目从C:\Users\Boss\OneDrive\İş masası\ask转移到不含非ASCII字符的路径下,比如C:\Projects\ask,然后重新执行命令:
py manage.py makemessages -l en --ignore=myenv/*
2. 用Windows短路径绕开特殊字符
Windows自带8.3格式的短路径(不含特殊字符),操作如下:
- 打开CMD命令提示符,输入
dir /x C:\Users\Boss\OneDrive\,找到İş masası对应的短路径(比如显示为ISMAS~1) - 通过短路径进入项目目录:
cd C:\Users\Boss\OneDrive\ISMAS~1\ask - 再执行makemessages命令:
py manage.py makemessages -l en --ignore=myenv/*
3. 检查locale目录权限
右键项目中的locale文件夹,选择「属性」→「安全」,确认当前用户拥有该目录的读写权限,无权限则添加对应权限。
4. 手动生成初始django.pot文件
如果上述方法无效,先在项目locale文件夹下手动创建空的django.pot文件,再带--force参数执行命令强制更新:
py manage.py makemessages -l en --force --ignore=myenv/*
内容的提问来源于stack exchange,提问作者nicat mmmdv
相关产品推荐
相关产品推荐

