Tengo entendido que la última versión de Pylint (1.0.0 en el momento de escribir este artículo) es compatible con Python 3, pero no puedo hacer que funcione en Ubuntu 13.04 de 64 bits con Python 3.3.
Seguí las instrucciones de instalación en el sitio de PyPi , y Pylint 1.0.0 parece estar instalado con éxito ( pylint --version
devuelve pylint 1.0.0), y funciona con el código Python 2.7, pero informa un error de sintaxis cuando ve declaraciones no locales y demás.
¿Lo que da? ¿Hay instrucciones especiales de instalación para Pylint en Ubuntu?
sudo apt install pylint3
.El comentario de @sayth a la respuesta aceptada fue lo que me atrajo aquí: escribo los scripts python 2 y python 3, y quiero poder verificarlos con el conjunto de reglas correcto. la instalación de pylint usando
pip3 install pylint
escribe una secuencia de comandos corta en la/usr/local/bin
que se invoca el intérprete de python3 y, por lo tanto, parece suponer que todos los archivos que se verificarán son secuencias de comandos de python 3.para solucionar esto, ahora tengo los siguientes archivos:
~/bin/pylint2
:y
~/bin/pylint3
:y luego, como me gusta usar pylint directamente desde el menú "Build Commands" de Geany, y no puedo especificar diferentes comandos para los scripts python 2 y python 3, también tengo
~/bin/pylint
:que distribuye la versión correcta olfateando el shebang.
No perfecto, ciertamente, pero funcional y, quizás, útil para otros.
fuente
El ecosistema de pylint ha cambiado desde entonces (después de que se hizo esta pregunta), y ahora hay un pylint separado para python3. Se puede instalar con:
sudo apt install pylint3
Me funcionó en Ubuntu 16.04.2 LTS
fuente
Como otro método para ejecutar pylint en Python 2 y 3, tenga en cuenta que puede usar el
-m
interruptor de Python para ejecutar un módulo instalado en el sistema en la versión actual de Python, por lo que puede hacerpara seleccionar explícitamente cuál quieres. Puede convertirlos en alias o scripts de shell si lo desea.
fuente
La raíz del problema es que pylint debería venir con scripts de consola de punto de entrada para / usr / local / bin / pylint2 y / usr / local / bin / pylint3. Esto debería considerarse un error.
Lo siguiente no funciona; todavía ejecuta pylint2:
Lo siguiente es lo que he estado usando con éxito:
fuente
Esto es en respuesta a la buena respuesta de Simon. Simplemente lo pensé de una manera diferente y pensé que podría ser útil para aquellos que buscan soluciones para múltiples versiones de python / pylint.
Instalar pylint para 3.xy mantener 2.7 por defecto o viceversa se hace fácilmente usando virtualenv.
Crea tu entorno virtual. en tu env mientras corres activado
aquí puede averiguar dónde su entorno ha puesto su python y pylint por
y entonces
Entonces es solo una cuestión de configurar su ide para usar esa ruta de enlace y / o ruta de python. Sé que funciona con Sublime3, así que lo usaré en el siguiente ejemplo.
en Sublime en el menú del encabezado superior, seleccione Preferencias> Configuración del paquete> Pylinter> Configuración - Usuario.
Es solo un objeto json. Selecciona el
Guarda el archivo. También hago una copia del archivo y la guardo en ese directorio venv para poder cambiar fácilmente copiando y pegando esta configuración cuando necesito esta interfaz. Cuando no lo hago, simplemente restablezco la configuración de Pylinter.sublime a los valores predeterminados para el usuario y esa es la forma más fácil que he encontrado. Lo siento, no conozco los comandos de Windows o los habría puesto allí.
fuente