Es bueno que un módulo de Python tenga una cadena de documentos que explique qué hace el módulo, qué proporciona, ejemplos de cómo usar las clases. Esto es diferente de los comentarios que a menudo se ven al principio de un archivo con información sobre los derechos de autor y la licencia, que en mi opinión no deberían incluirse en la cadena de documentos (algunos incluso argumentan que deberían desaparecer por completo, consulte, por ejemplo, http: // hackerboss. com / deshacerse-de-templates / )
Con pylint 2.4 y superior, puede diferenciar entre los distintos missing-docstring
mediante el uso de los siguientes submensajes :
C0114
( missing-module-docstring
)
C0115
( missing-class-docstring
)
C0116
( missing-function-docstring
)
Entonces el siguiente .pylintrc
archivo debería funcionar:
[MASTER]
disable=
C0114,
Para versiones anteriores de Pylint, no tiene un código separado para los distintos lugares donde pueden aparecer cadenas de documentos, por lo que todo lo que puede hacer es deshabilitar C0111. El problema es que si deshabilita esto en el alcance del módulo, entonces se deshabilitará en todas partes del módulo (es decir, no obtendrá ninguna línea C para la función / clase / método que falta en la cadena de documentos. Lo que posiblemente no sea bueno.
Entonces, lo que sugiero es agregar esa pequeña cadena de documentos que falta, diciendo algo como:
"""
high level support for doing this and that.
"""
Muy pronto, encontrará cosas útiles para poner allí, como proporcionar ejemplos de cómo usar las diversas clases / funciones del módulo que no necesariamente pertenecen a las cadenas de documentos individuales de las clases / funciones (como interactuar o algo así como una guía de inicio rápido).
$ cat my_module/test/__init__.py
"Hey, PyLint? SHUT UP"
Es tarde, pero aun así lo encontré útil. Entonces compartiendo. Encontré esto aquí .
Puede agregar la marca "--errors-only" para pylint para deshabilitar las advertencias.
Para hacer esto, vaya a la configuración. Edite la siguiente línea:
"python.linting.pylintArgs": []
Como
"python.linting.pylintArgs": ["--errors-only"]
¡Y listo!
fuente
"python.linting.pylintArgs": ["--disable=C0111"],
probablemente lo sea más, ya que solo silencia las advertencias de la cadena de documentos. Sin embargo, la configuración aborda la pregunta del OP de cómo deshabilitar estas advertencias solo a nivel de módulo.Creo que la solución es relativamente fácil sin deshabilitar esta función.
def kos_root(): """Return the pathname of the KOS root directory.""" global _kos_root if _kos_root: return _kos_root
Todo lo que necesita hacer es agregar la cadena de comillas dobles triples en cada función.
fuente
Vine buscando una respuesta porque, como dijo @cerin, en los proyectos de Django es engorroso y redundante agregar cadenas de documentos de módulo a cada uno de los archivos que django genera automáticamente al crear una nueva aplicación.
Entonces, como una solución al hecho de que pylint no le permite especificar una diferencia en los tipos de cadenas de documentos, puede hacer esto:
pylint */*.py --msg-template='{path}: {C}:{line:3d},{column:2d}: {msg}' | grep docstring | grep -v module
Debe actualizar la plantilla msg para que cuando haga grep aún sepa el nombre del archivo. Esto devuelve todos los demás tipos de cadenas de documentos que faltan, excepto los módulos.
Luego, puede corregir todos esos errores y luego ejecutar:
fuente
No. Actualmente, Pylint no le permite discriminar entre advertencias de cadenas de documentos.
Sin embargo, puede usar flake8 para todas las comprobaciones de código Python junto con la extensión doc-string para ignorar esta advertencia.
Instale la extensión doc-string con pip (internamente, usa pydocstyle ).
Luego puede usar el
--ignore D100
interruptor. Por ejemploflake8 file.py --ignore D100
fuente
Con pylint 2.4 y superior, puede diferenciar entre los distintos
missing-docstring
mediante el uso de los siguientes submensajes :C0114
(missing-module-docstring
)C0115
(missing-class-docstring
)C0116
(missing-function-docstring
)Entonces el siguiente
.pylintrc
archivo debería funcionar:[MASTER] disable= C0114, # missing-module-docstring
fuente
Simplemente coloque las siguientes líneas al principio de cualquier archivo en el que desee desactivar estas advertencias.
# pylint: disable=missing-module-docstring # pylint: disable=missing-class-docstring # pylint: disable=missing-function-docstring
fuente
missing-docstring
(funciona para la versión anterior a 2.4.0).Edite "C: \ Users \ Your User \ AppData \ Roaming \ Code \ User \ settings.json" y agregue estas
python.linting.pylintArgs
líneas al final como se muestra a continuación:{ "team.showWelcomeMessage": false, "python.dataScience.sendSelectionToInteractiveWindow": true, "git.enableSmartCommit": true, "powershell.codeFormatting.useCorrectCasing": true, "files.autoSave": "onWindowChange", "python.linting.pylintArgs": [ "--load-plugins=pylint_django", "--errors-only" ], }
fuente
(1) CTRL + MAYÚS + P (2) Luego escriba y haga clic en> preferencias: configure los ajustes específicos del idioma (3) y luego escriba python después de eso más allá del código
{ "python.linting.pylintArgs": [ "--load-plugins=pylint_django","--errors-only" ], }
fuente
Vaya a "settings.json" y deshabilite Python
pydocstyle
"python.linting.pydocstyleEnabled": false
fuente
En mi caso, con pylint 2.6.0, los mensajes de la cadena de documentos que faltaban no desaparecían, incluso después de deshabilitarlos explícitamente
missing-module-docstring
,missing-class-docstring
ymissing-function-docstring
en mi.pylintrc
archivo. Finalmente, la siguiente configuración funcionó para mí:Aparentemente, pylint 2.6.0 todavía valida las cadenas de documentos a menos que ambas verificaciones estén deshabilitadas.
fuente