Cómo ejecutar Pylint con PyCharm

Quiero configurar pylint como una herramienta externa en todo el directorio de mi proyecto para un proyecto de python en el que estoy trabajando. He intentado usar el repository como módulo con __init__.py y sin, y no funciona de ninguna manera.

Estoy teniendo dificultades para configurar pylint para ejecutar con PyCharm. Sé que debería ejecutarlo como una herramienta externa, sin embargo, la configuración me confunde.

La fuente autorizada en su documentación está rota, por lo que tampoco puedo verificar eso.

Puede configurar pylint para que funcione con PyCharm siguiendo los siguientes pasos:

  1. Instalar pylint :

     $ pip install pylint 
  2. Localice su carpeta de instalación pylint :

     $ which pylint # MacOS/Linux /usr/local/bin/pylint # this is just a possible output check yours 

     $ where pylint # Windows %LocalAppData%\Programs\Python\Python36-32\Scripts\pylint.exe # possible location 
  3. Abra la ventana de configuración de PyCharm con File -> Settings , luego navegue hasta Tools -> External Tools en la barra lateral. (O busque ” herramientas externas “)

    Herramientas externas de PyCharm

  4. Configure una herramienta externa haciendo clic en el signo + y rellenando los campos correspondientes. En Program use la ruta que obtuvo al ejecutar which pylint , para los otros valores puede usar el mismo de la imagen.

    Herramienta de edición de PyCharm

  5. Ejecutar pylint desde Tools -> External Tools -> pylint :

    Herramientas externas de PyCharm

  6. Mira tu salida en la terminal de PyCharm

    Terminal de PyCharm

Para más detalles, refiérase a Pylinting con PyCharm .

Actualizar:

Si desea usar pylint para verificar todo su proyecto o un archivo o directorio en particular, puede hacer clic derecho en la raíz, archivo o directorio de su proyecto, luego en External Tools -> pylint como se muestra a continuación.

PyCharm verifica todo el proyecto

Debido a que no encontré una configuración lista para usar, estas son las configuraciones que uso en PyCharm CE 2018.1 en macOS:

1 – pip install pylint en tu proyecto virtualenv o globalmente

2 – Añadir nueva herramienta externa y configurar:

 Program: pylint Arguments: "--msg-template='{abspath}:{line:5d},{column:2d}: {msg} ({symbol})'" --output-format=colorized "$FilePath$" Working directory: $ProjectFileDir$ Output filters: $FILE_PATH$:\s*$LINE$\,\s*$COLUMN$: 

Observe las comillas dobles necesarias para la plantilla msg y los caracteres de escape para los filtros de salida. El filtro de salida permite hacer clic en la ruta del archivo y abrir la ubicación en el editor de fuente IDE.

La única característica que falta son los filtros de salida para trazar las descripciones de la pelusa directamente en la vista de origen, como se hace con la plantilla incorporada. Sin embargo, no hay tal característica en este momento.

argumentos pylint

Edición: ahora uso y recomiendo el complemento Pycharm que no existía cuando escribí por primera vez esta respuesta.


Un colega me señaló el pylint-pycharm en GitHub. Es una envoltura alrededor de pylint con salida formateada para PyCharm. Así es como lo configuro:

 git clone https://github.com/perses76/pylint-pycharm.git cd pylint-pycharm python setup.py build 

Esto crea build/scripts-2.7/pylint-pycharm

Luego, en PyCharm, crea una nueva herramienta externa con estos ajustes:

 Program: path to your installation of pylint-pycharm Arguments: --virtualenv=$PyInterpreterDirectory$/.. $FileName$ Working directory: $FileDir$ Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.* 

Captura de pantalla de configuración de la herramienta externa PyLint for PyCharm

Ahora ejecútelo desde Herramientas -> Herramientas externas -> PyLintPyCharm. Cada línea de salida estará hipervinculada a la posición relevante en el código fuente.

Una nota sobre las respuestas anteriores. Estaba buscando un método para que PyCharm fuera consciente de la syntax de salida para poder saltar directamente a las ubicaciones de los archivos. Eso funciona sin usar herramientas adicionales.

Pylint puede configurarse para enviar mensajes en un formato específico utilizando la opción msg-template en el archivo pylintrc o la opción CLI --msg-template .

Lo puse en: msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'

En la configuración de Herramientas externas, los Output filters: se pueden establecer en $FILE_PATH$:$LINE$:$COLUMN$: .* lo que PyCharm muestra enlaces para ir directamente a las ubicaciones informadas. Esto se puede combinar con output-format=colorized así que obtengo esto: introduzca la descripción de la imagen aquí PyCharm no reconoce la columna a pesar de haberla configurado. Pero tener el archivo y la línea es suficiente para mí.

Puedes probar este plugin Pylint PyCharm :

Pylint PyCharm captura de pantalla

proporciona escaneo en tiempo real y bajo demanda de archivos de Python con Pylint desde PyCharm / IDEA.

Una vez que lo tiene instalado, la inspección en tiempo real funciona automáticamente. Para la demanda, tiene varias opciones que van desde solo revisar el archivo abierto actual para escanear todo el proyecto: introduzca la descripción de la imagen aquí

(Solo por el bien de la transparencia, yo soy el desarrollador)

Al principio instale el pylint con pip:

 pip install pylint 

Tiene que abrir “Configuración> Herramientas> Herramientas externas” y presionar el botón “+” en PyCharm.

Aquí hay un ejemplo con buenos ajustes.

Gracias a la información aquí ya la documentación actualizada de PyCharm, he podido hacer que esto funcione bien para usar también el entorno virtual para el proyecto (asegurando que cualquier paquete pueda implementarse dentro del entorno virtual y no sea necesario implementarlo de manera global) ).

Tomando lo que lkraider proporcionó antes pero con ligeras modificaciones:

  1. Asegúrese de instalar pylint en el entorno virtual. Tenga en cuenta que asegúrese de que cuando creó el entorno virtual no seleccionó “Heredar paquetes de sitios globales”. Si lo hace, pylint terminará siendo global y esto no funcionará.

  2. Añadir nueva herramienta externa y configurar. Esto es ligeramente diferente en comparación con lo que proporcionó lkraider. Por un lado, quería que se pareciera más a una salida de pylint normal, por lo tanto, mi plantilla msg (y el filtro de salida) es un poco diferente. Cada uno por su cuenta. El segundo cambio es más crítico para la ejecución de pylint basado en el entorno virtual, ese es el parámetro del progtwig donde uso $ PyInterpreterDirectory $.

 Program: $PyInterpreterDirectory$/pylint Arguments: "--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'" --output-format=colorized "$FilePath$" Working directory: $ProjectFileDir$ Output filters: $FILE_PATH$:\s*$LINE$\:\s*$COLUMN$: 

Herramienta externa para pylint

Roberto Leinardi ha creado un complemento de pylint para pycharm que realmente funciona y se integra bien en el IDE:

Fácil de instalar desde los repositorys, instrucciones completas en: https://github.com/leinardi/pylint-pycharm

Tengo una corta pero feliz experiencia con esto hasta ahora! Felicitaciones a Roberto.