137 votos

¿Cómo puedo obtener Pyflakes ignorar una declaración?

Muchos de nuestros módulos de inicio con:

try:
    import json
except ImportError:
    from django.utils import simplejson as json  # Python 2.4 fallback.

...y es la única Pyflakes de advertencia en el archivo completo:

foo/bar.py:14: redefinition of unused 'json' from line 12

¿Cómo puedo obtener Pyflakes ignorar esto?

(Normalmente, me gustaría ir a leer los documentos , pero el enlace está roto. Si nadie tiene una respuesta, voy a leer la fuente.)

215voto

yrstruly Puntos 534

Si usted puede utilizar flake8 lugar - que envuelve pyflakes así como el pep8 corrector - una línea que contiene

# NOQA

(en los que el espacio es significativo), le dirá el corrector para omitir los errores en esa línea.

47voto

mfussenegger Puntos 1682

Yo sé que esto fue cuestionado hace algún tiempo y ya está contestada.

Pero quiero agregar a lo que yo suelo usar:

try:
    import json
    assert json  # silence pyflakes
except ImportError:
    from django.utils import simplejson as json  # Python 2.4 fallback.

7voto

Adi Roiban Puntos 398

Sí, por desgracia dimod.org es hacia abajo junto con todos los extras.

Mirando el pyflakes código, a mí me parece que pyflakes está diseñado para que sea fácil de usar como un "incrustado rápido checker".

Para la aplicación de ignorar la funcionalidad que usted necesita para escribir su propio que llama a la pyflakes corrector.

Aquí usted puede encontrar una idea: http://djangosnippets.org/snippets/1762/

Tenga en cuenta que el fragmento anterior sólo para comentarios lugares en la misma línea. Para ignorar todo un bloque es posible que desee agregar 'pyflakes:ignore' en el bloque de docstring y un filtro basado en node.doc.

Buena suerte!


Estoy usando pocket-lint para todo tipo de análisis de código estático. Aquí están los cambios realizados en pocket-lint por ignorar pyflakes: https://code.launchpad.net/~adiroiban/pocket-lint/907742/+merge/102882

6voto

Daenyth Puntos 11297

A la cita de los github ticket de problema:

Mientras que la corrección está todavía por llegar, esta es la forma en que puede ser trabajado de todo, si usted se está preguntando:

try:
    from unittest.runner import _WritelnDecorator
    _WritelnDecorator; # workaround for pyflakes issue #13
except ImportError:
    from unittest import _WritelnDecorator

Substitude _unittest y _WritelnDecorator con las entidades (módulos, funciones, clases) que usted necesita

-- deemoowoor

6voto

Chase Seibert Puntos 7609

Aquí es un mono parche para pyflakes que añade un # bypass_pylakes comentario opción.

#!/usr/bin/env python

from pyflakes.scripts import pyflakes
from pyflakes.checker import Checker


def report_with_bypass(self, messageClass, *args, **kwargs):
    text_lineno = args[0] - 1
    with open(self.filename, 'r') as code:
        if code.readlines()[text_lineno].find('bypass_pyflakes') >= 0:
            return
    self.messages.append(messageClass(self.filename, *args, **kwargs))

# monkey patch checker to support bypass
Checker.report = report_with_bypass

pyflakes.main()

Si guarda esto como bypass_pyflakes.py, entonces puede invocar como python bypass_pyflakes.py myfile.py.

http://chase-seibert.github.com/blog/2013/01/11/bypass_pyflakes.html

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X