Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在windows上安装gnu gettext(>;0.15)?所以我可以在Django中生成.po/.mo文件_Python_Django_Windows_Gnu_Gettext - Fatal编程技术网

Python 如何在windows上安装gnu gettext(>;0.15)?所以我可以在Django中生成.po/.mo文件

Python 如何在windows上安装gnu gettext(>;0.15)?所以我可以在Django中生成.po/.mo文件,python,django,windows,gnu,gettext,Python,Django,Windows,Gnu,Gettext,运行django时,生成消息: ./manage.py makemessages -l pt 我得到: CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed. 我试图安装,但我发现安装程序的最后一个版本是0.14。我在哪里可以找到最新版本以及如何安装它?Django从最近的文档中删除了此说明,我花了一些时间才找到它,因此在旧文档脱机之前,我将其粘贴在此处:

运行django时,生成消息:

./manage.py makemessages -l pt
我得到:

CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

我试图安装,但我发现安装程序的最后一个版本是0.14。我在哪里可以找到最新版本以及如何安装它?

Django从最近的文档中删除了此说明,我花了一些时间才找到它,因此在旧文档脱机之前,我将其粘贴在此处:

资料来源:

从中下载以下zip文件

  • gettext-runtime-X.zip
  • gettext-tools-X.zip
X是版本号(需要为0.15或更高)

将两个文件中的
bin\
目录的内容提取到系统上的同一文件夹中(即
C:\Program files\gettext-utils

更新系统路径:

控制面板>系统>高级>环境变量

在系统变量列表中,单击路径,单击编辑,然后单击新建。 添加
C:\ProgramFiles\gettext-utils\bin

只要xgettext--version命令工作正常,您也可以使用从别处获得的gettext二进制文件。如果在Windows命令提示符下输入的命令xgettext--version导致弹出窗口显示“xgettext.exe已生成错误并将由Windows关闭”,则不要尝试将Django翻译实用程序与gettext包一起使用


完成此操作后,我进行了测试,并且
/manage.py makemessages-l pt
工作

最简单的方法是下载。下载“静态”风格的操作系统(32位或64位),然后简单地运行安装程序

更新系统路径:

控制面板>系统>高级>环境变量

在系统变量列表中,单击路径,单击编辑,然后单击新建。 添加
C:\Program Files\gettext iconv\bin

要检查它是否工作,请转到cmd,导航到项目文件夹并键入

“管理makemessages-l de”。

您可能必须配置存储翻译的路径。在项目目录中创建一个名为“locale”的目录,并指向settings.py

还要确保在settings.py文件中设置本地路径:

LOCALE_PATHS = (
    BASE_DIR + 'locale/', )

我也有同样的问题。在我下载并安装了这个之后,一切都正常了。

在提取相关文件并将它们的位置添加到路径之后,我仍然有同样的问题。但是后来我在命令提示符下运行了django admin makemessages-l sr Latn命令,而不是powershell命令,它成功了。更准确地说,我第一次收到libstdc++-6.dll丢失的通知,在将其安装到相关目录(如本文所述)后,它工作了

让我为您节省很多时间来解决这个问题

其中一个可能性是,在您成功完成上述所有工作并

pip install python-gettext

您可能未正确配置IDE或venv。要绕过此操作,请转到命令提示符,导航到根文件夹并从那里运行
py manage.py makemessages
。它会起作用的。

谢谢你分享你的经验。 最好的答案是。 经过多次努力,值得一提的是: 如果您想在Pycharm IDE中使用此工具,以便在不同的环境中工作(更改了python路径和路径变量(例如:OSGeo)),则需要创建一个批处理文件,并将这两个目录添加到更改的路径中:

path %PATH%;C:\Program Files\gettext-iconv\bin
path %path%;C:\Program Files\gettext-iconv\lib\gettext
SET PYCHARM="D:\Program Files\JetBrains\PyCharm 2020.2.2\bin\pycharm64.exe"
start "PyCharm aware of get text" /B %PYCHARM% %*
使用此批处理文件运行Pycharm后,转到工具/Run manage.py Task。在出现的窗口中,按如下方式编写命令: makemessages-l'fa_IR' 有关更多信息,请参阅: [1]
[2]对于我的设置,LIGBSTD++-DLL在GETTXT-TooSoSeVoXXXXXWI32.ZIP和GETTXBETRUNTIMEXXXXXWI32.ZIPI/BIN的旁边需要提供一个链接来下载<代码> .dll <代码>,我将在我的答案中添加一个注释,就我所记得的,它是用微软Visual C++的构建工具和/或RITE编译器捆绑的。不添加此信息,因为它似乎不一定相关,当我搜索
libstdc++-6.dll
时,有多个投诉与不同的软件有关。使用python 3.7.4和django 2.0谢谢,我想补充的一点是,我尝试使用pycharm终端,但它不起作用,然后我尝试使用cmd,然后工作,虽然这可以从理论上回答这个问题,在这里包括答案的基本部分,并提供链接供参考。python 3,django 1.11.7对我不起作用。我使用适合我的NBajanca