update mac python django unix internationalization gettext

update - uninstall python mac



Internacionalización Django(en OSX) (3)

Estoy intentando que gettext funcione en Django en mi OSX Leopard

django_manage.py makemessages -l nl Importing Django settings module settings processing language nl Error: errors happened while running xgettext on __init__.py /bin/sh: xgettext: command not found

En la Terminal me sale el mismo error, a menos que coloque esto en mi perfil de bash:

PATH=$PATH:/Applications/Poedit.app/Contents/MacOS/

Pero luego me sale este error:

Error: errors happened while running msguniq /bin/sh: msguniq: command not found os x


Creo que necesitas instalar gettext. Poedit incluye solo algunos de los programas proporcionados por el paquete gettext.

Probablemente la forma más fácil de instalar (no solo) gettext es a través de homebrew . Una vez que tengas Homebrew instalado, ejecuta brew install gettext . Después de eso, asegúrese de que los programas en /usr/local/Cellar/gettext/0.18.1.1/bin estén en su $PATH .

Tenga en cuenta que necesita tener Xcode instalado para que Homebrew funcione, ya que generalmente instala paquetes desde la fuente (puede obtener Xcode for Lion de forma gratuita desde la Mac App Store).

Edit: Pasé por alto que no usas Lion. Para Snow Leopard, puedes obtener XCode en App Store por $ 5. XCode For Leopard es creo que en el disco de instalación.


Después de la instalación, intente vincular gettext. Esto resolvió mi problema.

brew install gettext brew link gettext --force


Forzar el brew link puede tener consecuencias negativas . Es mejor modificar el PATH del entorno virtual en lugar de la vinculación forzada. Asi que,

  1. Instale GNU gettext:

    brew install gettext

  2. Agrégalo a tu entorno virtual:

    # Get this from the brew''s "Summary" GETTEXT_PATH="/usr/local/Cellar/gettext/0.19.8.1/bin" # Change "postactivate" to "activate" if you''re using python3''s venv FILE="YOUR_VENV/bin/postactivate" echo "" >> $FILE echo "export PATH=/$PATH:$GETTEXT_PATH" >> $FILE