2010-03-23 24 views
18

siguiente es de pylint docs:pylint ignorar por el directorio

--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] 

Sin embargo, no estoy teniendo suerte conseguir la pieza de trabajo directorio.

Tengo el directorio llamado migrations, que tiene archivos de migración django-south. Al ingresar --ignore = migrations, sigue apareciendo los errores/advertencias en los archivos dentro del directorio de migraciones.

¿Podría ser que --ignore no esté funcionando para los directorios?

Si pudiera incluso utilizar expresiones regulares para que coincida con los ficheros ignorados que funcionaría, ya que los archivos django-sur tienen nombres 0001_something, 0002_something ...


Como no podía conseguir el ignorar por directorio para trabajo He recurrido simplemente a poner # pylint: disable-msg-cat=WCREFI en la parte superior de cada archivo de migración, que ignora todos los errores, advertencias e informaciones de la pila.

+2

pylint actualmente solo respeta la última opción '--ignore' en su nombre de ruta. ¿Estás usando '--ignore' varias veces tal vez? http://www.logilab.org/ticket/22273 – badp

+0

¿Está relacionado con pydev? ¿Tal vez agregar etiquetas como pydev o eclipse? Estoy buscando esto también. – michuelnik

Respuesta

12

Adición:

[MASTER] 
ignore=migrations 

Para mi .pylintrc trabaja con pylint 0,25. Mis problemas son con PyDev que (al parecer) no respeta mi configuración. Esto se debe, creo, al hecho de que se está ejecutando pylint por archivo, lo que creo que pasa por alto las comprobaciones de "ignorar", ya sea para módulos/directorios o archivos. Las llamadas a pylint de PyDev ven como:

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

Puedo confirmar que 'ignore = migrations' aún funciona con pylint 1.3.1 – Peterino

+0

Esto no funcionó * para mí. , usando el ** nombre-módulo ** fue el truco. Entonces para un paquete como 'foo/bar' tuve que usar' foo.bar' en lugar de 'bar'. – exhuma

-1

continuación, puede utilizar la expansión Bash a su ventaja:

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

Esto no funcionará debido a http://www.logilab.org/ticket/22273 – badp

+1

Creo que ignorar solo permite * basename *, por lo que 'migrations /' no funcionaría. También estoy desarrollando bajo Windows, así que creo que Bash está fuera de cuestión. – Ciantic

+0

Esta publicación parece un poco larga, así que volveré a preguntar. Tal vez algo ha cambiado. ¿Es posible excluir todo el directorio 'migrations'? También estoy en Windows. :(Gracias. –

5

no se puede dar un camino, pero sólo el "nombre base" del directorio. P.ej. use --ignore=lib en lugar de --ignore-=appengine-toolkit/gaetk/lib.

Problema es que ignorará negrita todos los directorios llamados lib.

Cuestiones relacionadas