2010-03-23 5 views
18

est de la suite pylint docs:pylint ignorer par répertoire

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

Pourtant, je ne suis pas avoir la chance d'obtenir le répertoire de travail partiel.

J'ai un répertoire appelé migrations, qui contient des fichiers de migration django-sud. Lorsque j'entre --ignore = migrations, il continue de me donner les erreurs/avertissements dans les fichiers du répertoire des migrations.

Se pourrait-il que --ignore ne fonctionne pas pour les répertoires?

Si je pouvais même utiliser pour faire correspondre les regexp fichiers ignorés, il travaillerait, puisque les fichiers django-Sud sont tous nommés 0001_something, 0002_something ...


Depuis que je ne pouvais pas l'ignorer par répertoire travail que j'ai eu recours à simplement mettre # pylint: disable-msg-cat=WCREFI sur chaque fichier de migration, qui ignore toutes les erreurs de pylint, les avertissements et les infos.

+2

pylint ne respecte actuellement que la dernière option '--ignore' dans votre nom de chemin. Utilisez-vous '--ignore' plusieurs fois peut-être? http://www.logilab.org/ticket/22273 – badp

+0

Est-ce lié à pydev? Peut-être ajouter des balises comme pydev ou éclipse? Je suis à la recherche de cela aussi. – michuelnik

Répondre

12

Ajout:

[MASTER] 
ignore=migrations 

A mon .pylintrc travaille avec pylint 0,25. Mes problèmes sont avec PyDev qui (semble-t-il) ne respecte pas mes paramètres. Cela est dû, je pense, au fait qu'il exécute pylint par fichier, ce qui, je pense, contourne les contrôles 'ignore' - que ce soit pour les modules/répertoires ou les fichiers. Les appels à pylint de PyDev ressemblent:

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

Je peux confirmer que 'ignore = migrations' fonctionne toujours avec pylint 1.3.1 – Peterino

+0

Cela n'a * pas * fonctionné pour moi. , en utilisant ** nom-module ** a fait l'affaire.Pour un paquetage comme 'foo/bar', j'ai dû utiliser 'foo.bar' au lieu de' bar'. – exhuma

-1

Vous pouvez ensuite utiliser l'expansion de Bash à votre avantage:

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

Cela ne fonctionnera pas à cause de http://www.logilab.org/ticket/22273 – badp

+1

Je pense que l'ignore n'autorise que * basename *, donc les 'migrations /' ne fonctionneraient pas. Je suis aussi en train de développer sous Windows donc je pense que Bash est hors de question. – Ciantic

+0

Ce post a l'air un peu long donc je vais demander à nouveau. Peut-être que quelque chose a changé. Est-il possible d'exclure l'ensemble du répertoire 'migrations'? Je suis aussi sur Windows. :(Merci –

5

Vous ne pouvez pas donner un chemin mais seul le « basename » du répertoire. Par exemple. utilisez --ignore=lib au lieu de --ignore-=appengine-toolkit/gaetk/lib.

Le problème est que vous ignorerez gras tous les répertoires nommés lib.

Questions connexes