2010-03-23 17 views
18

seguito da pylint docs:pylint ignorare per directory

--ignore=<file> 
    Add <file or directory> to the black list. It should be a base name, not a path. You may set this option multiple times. [current: %default] 

Eppure non sto avendo fortuna ricevendo il lavoro part directory.

Ho una directory denominata migrazioni, che contiene i file di migrazione django-south. Mentre inserisco --ignore = migrations continua a darmi gli errori/gli avvisi nei file all'interno della directory delle migrazioni.

Potrebbe essere che --ignore non funzioni per le directory?

Se potrei anche utilizzare regexp per abbinare i file ignorati che avrebbe funzionato, dal momento che i file django-sud sono tutti chiamati 0001_something, 0002_something ...


Dal momento che non ho potuto ottenere il ignorare dalla directory lavoro Ho fatto ricorso semplicemente a mettere # pylint: disable-msg-cat=WCREFI sopra ogni file di migrazione, che ignora tutti gli errori, gli avvertimenti e le informazioni di pylint.

+2

pylint attualmente rispetta solo l'ultima opzione --ignore nel nome del percorso. Stai usando '--ignore' più volte forse? http://www.logilab.org/ticket/22273 – badp

+0

Questo pydev è correlato? Forse aggiungi tag come pydev o eclipse? Sto cercando anche questo. – michuelnik

risposta

12

Aggiunta:

[MASTER] 
ignore=migrations 

Con mia .pylintrc funziona con pylint 0,25. I miei problemi sono con PyDev che (sembra) non rispetta le mie impostazioni. Questo è dovuto, penso, al fatto che stia eseguendo per file file di pylint, che penso ignori i controlli 'ignora' - sia per moduli/directory o file. Le chiamate al pylint da PyDev assomigliano:

/path/to/site-packages/pylint/lint.py --include-ids=y /path/to/project/migrations/0018_migration.py 
+0

Posso confermare che 'ignore = migrations' funziona ancora con pylint 1.3.1 – Peterino

+0

Questo * non * funziona per me. usare il ** nome-modulo ** ha fatto il trucco, quindi per un pacchetto come 'foo/bar' ho dovuto usare' foo.bar' invece di 'bar'. – exhuma

-1

È quindi possibile utilizzare l'espansione Bash a vostro vantaggio:

--ignore=migrations/{0000..1000}_something 
+2

Questo non funzionerà a causa di http://www.logilab.org/ticket/22273 – badp

+1

Penso che l'ignore consenta solo * basename *, quindi 'migrations /' non funzionerebbe. Inoltre sto sviluppando sotto Windows quindi penso che Bash sia fuori discussione. – Ciantic

+0

Questo post sembra un po 'lungo, quindi lo chiederò di nuovo. Forse qualcosa è cambiato. È possibile escludere l'intera directory 'migrations'? Sono su Windows pure. :(Grazie, –

5

Non è possibile dare un percorso, ma solo il "nome base" della directory. Per esempio. utilizzare --ignore=lib anziché --ignore-=appengine-toolkit/gaetk/lib.

Il problema è che ignorerai in grassetto tutte le directory denominate lib.

Problemi correlati