Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 CommandError:Can';找不到xgettext。使用django i18n_Python_Django_Internationalization - Fatal编程技术网

Python CommandError:Can';找不到xgettext。使用django i18n

Python CommandError:Can';找不到xgettext。使用django i18n,python,django,internationalization,Python,Django,Internationalization,我已经用django构建了一个简单的应用程序,其中我使用了I18N。但是当我试着运行下面的命令时 D:\work\i18n\testapp>django-admin.py makemessages -l en 我有以下错误 D:\work\i18n\testapp>django-admin.py makemessages -l en CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.1

我已经用django构建了一个简单的应用程序,其中我使用了
I18N
。但是当我试着运行下面的命令时

D:\work\i18n\testapp>django-admin.py makemessages -l en
我有以下错误

D:\work\i18n\testapp>django-admin.py makemessages -l en
CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or
newer installed.
在此之后,我已经安装了,但仍然收到
命令错误:找不到xgettext…
错误

这是我的设置.py

"""
Django settings for testapp project.

For more information on this file, see
https://docs.djangoproject.com/en/1.6/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.6/ref/settings/
"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '-rzs11j%&)$=#s)x#bjug(@(7afjaz*wvynfewzaqb_#q1uuez'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.locale.LocaleMiddleware',
)

ROOT_URLCONF = 'testapp.urls'

WSGI_APPLICATION = 'testapp.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/

STATIC_URL = '/static/'

TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__), 'templates'),)


LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
print(LOCALE_PATHS)
这是我的模板

{% load i18n %}
<!DOCTYPE html>
<html lang="en">
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
 </head>
 <body>
<h3>I18N</h3>
{% trans "Hello" %}
 </body>
</html>
{%loadi18n%}
I18N
{%trans“Hello”%}

我错过了什么?我必须安装任何设置或任何其他模块?

您必须安装
gettext
软件包

对于windows,您可以从


如果您使用的是
CentOS
,则运行命令
yum install gettext
,对于
Ubuntu
用户,命令是
sudo apt get install-y gettext

您下载了吗?此人正在使用Windows,因此您的答案不适用。添加了windows链接。@Lafada Django i18n要求>0.15,而此链接没有0.15版本,我已从OS X和brew下载:brew安装gettext&&brew链接gettext--Force这显然是旧端口,因为msgfmt执行失败:(null):…\LC_MESSAGES\Django.po:424:关键字“msgctxt”不为人知