2012-06-29 9 views
7

Ho un progetto Django che utilizza buildout. Durante l'esecuzione o il debug dell'applicazione, funziona correttamente utilizzando il mio script buildout. Uso anche django-compressor per comprimere e compilare i miei file LESS. Ho installato il lato server LESS con il nodo ed è possibile accedere al lessc binario dalla shell normalmente. django-compressor esegue Popen per eseguire il comando lessc. Quando fa questo e viene lanciata l'eccezione:/bin/sh: lessc: comando non trovato.L'esecuzione di Django con Run non riesce a trovare MENO CSS

Se eseguo/bin/sh lessc lo trova. Se lancio nel python interattivo ed eseguo Popen (['/ bin/sh', '-c', 'lessc']) lo trova. Quale shell o ambiente utilizza Django in PyCharm e come posso configurarlo per leggere/etc/paths o $ HOME/.bashrc, ecc. Lessc si trova in/usr/local/bin che è in/etc/percorsi.

Sono su Mac OSX 10.7, indipendente tra

Grazie per qualsiasi supporto, Travis

risposta

5

Come sottolineato in Django documenti compressore, è possibile utilizzare:

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

Ma probabilmente per qualche motivo Django non è riuscito a trovare il lessc binario. Quindi inseriscilo con il suo nome completo:

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

Ho avuto lo stesso problema. Per risolvere questo problema ho aperto il terminale e

$ which lessc 

che mi ha dato/usr/local/bin/lessc

prossimo, in PyCharm ho aperto le configurazioni/Debug Run per il mio progetto.

Sotto il menu a discesa del server Django ho selezionato il mio progetto.

Nella vista di configurazione fare clic con il tasto destro del mouse su "..." dopo il campo "Variabili di ambiente:".

In questa finestra variabili di ambiente ho aggiunto una nuova linea con i seguenti dati: PATH (il nome) /usr/local/bin (il valore)

Assicurarsi "includere variabili di ambiente controllanti" sia selezionata.

Fare clic su OK Fare clic su Applica/OK

Fatto

Buona fortuna!

+0

2016 grazie germoglio;) – grokpot

+0

Funziona!Il mio ambiente genitore ha già contenuto il 'PATH' e il' PATH' contiene '/ usr/local/bin', perché non funziona? – Dozer

+0

Per me era il percorso di installazione di NVM. Molte grazie :) – ali

1

È necessario il binario lessc. Ci sono diversi modi per ottenerlo. Personalmente, preferisco usare il metodo non NodeJS per installarlo (su distribuzioni basate su Debian, come Ubuntu):

sudo apt-get install node-less yui-compressor

verrà installato in una delle seguenti posizioni:

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

Quale dovrebbe essere già nel PERCORSO.

Problemi correlati