2012-06-29 15 views
7

Tengo un proyecto Django que usa buildout. Al ejecutar o depurar la aplicación, se ejecuta correctamente al usar mi script de compilación. También uso django-compressor para comprimir y compilar mis archivos LESS. Instalé LESS lado del servidor con el nodo y puede acceder al binario lessc desde el shell de forma normal. django-compressor ejecuta Popen para ejecutar el comando lessc. Cuando lo hace y se lanza la excepción:/bin/sh: lessc: comando no encontrado.Ejecutando Django con Ejecutar no se puede encontrar MENOS CSS

Si ejecuto/bin/sh lessc lo encuentra. Si dejo caer en el python interactivo y ejecuto Popen (['/ bin/sh', '-c', 'lessc']) lo encuentra. ¿Qué shell o entorno usa el funcionamiento de Django en PyCharm y cómo puedo configurarlo para leer/etc/paths o $ HOME/.bashrc, etc. lessc está ubicado en/usr/local/bin que está en/etc /caminos.

estoy en Mac OS X 10.7, por cierto

Gracias por cualquier ayuda, Travis

Respuesta

5

Como se ha señalado en la documentación del compresor de Django, puede utilizar:

COMPRESS_PRECOMPILERS = (
    ('text/less', 'lessc {infile} {outfile}'), 
) 

Pero probablemente por alguna razón Django no pudo encontrar el binario lessc. Entonces, simplemente ingrésalo con su nombre completo:

COMPRESS_PRECOMPILERS = (
    ('text/less', '/usr/local/bin/lessc {infile} {outfile}'), 
) 
9

Tuve el mismo problema. Para solucionar este abrí terminal y

$ which lessc 

que me dio/usr/local/bin/lessc

siguiente, en PyCharm me abrió las configuraciones Ejecutar/Depurar para mi proyecto.

En el menú desplegable del servidor Django, seleccioné mi proyecto.

En la vista de configuración a la derecha haga clic en el '...' después de las: Campo de 'Las variables de entorno'.

En esta ventana de variables de entorno que añade una nueva línea con los siguientes datos: PATH (el nombre) /usr/local/bin (el valor)

garantizar la "incluir variables de entorno de padres" está marcada.

Haga clic en OK Haga clic en Aplicar/Aceptar

Hecho

mejor de las suertes!

+0

2016 gracias brote;) – grokpot

+0

¡Funciona!Mi entorno padre ya contiene el 'PATH' y el' PATH' contenía el '/ usr/local/bin', ¿por qué no funciona? – Dozer

+0

Para mí fue nvm ruta de instalación. Muchas gracias :) – ali

1

Se necesita el binario lessc. Hay algunas maneras diferentes de obtenerlo. En lo personal, yo prefiero usar el método no NodeJS para instalarlo (en distribuciones basadas en Debian, como Ubuntu):

sudo apt-get install node-less yui-compressor

Se instalará en una de las siguientes ubicaciones:

/usr/local/bin/lessc 
/usr/bin/lessc 

Que, ya debería estar en tu RUTA.

Cuestiones relacionadas