通过摸索和查阅django官网文档,我今天已经解决windows上执行django-admin.py makemessages -l zh_CN 后出现'xgettext'不是内部或外部命令,也不是可运行的程序或批处理文件的错误

原因和解决办法是:

分析django的源代码中关于国际化方面的(makemessages)就知道,上述命令最终调用的是os.cmd之类调用命令行的东西,而windows的path路径列表中没有xgettext.exe,这是因为windows上没有gettext,所以要安装gettext(python有gettext,但是好像不行,它没有xgettext) 
下载地址是:http://sourceforge.net/projects/gettext 
下载这三个: 
gettext-runtime-X.bin.woe32.zip  
gettext-tools-X.bin.woe32.zip  
libiconv-X.bin.woe32.zip 

解压这3个zip文件到同一个文件夹,比如 C:\Program Files\gettext-utils  
然后添加到系统变量的PATH中: 
控制面板 > 系统 > 高级 > 环境变量 
在系统变量列表中, 选中Path, 然后单击编辑  
添加 ;C:\Program Files\gettext-utils\bin 到结尾后一直点确定就行了

   
那3个文件全部选中后,直接用winrar解压,选择一个目录后解压即可

posted on 2012-04-15 22:37  知识天地  阅读(1026)  评论(0编辑  收藏  举报