Le commentaire de @sayth sur la réponse acceptée est ce qui m’attire ici: j’écris à la fois les scripts Python 2 et Python 3, et je veux pouvoir vérifier l’ensemble de règles correct. L’installation de pylint à l’aide de pip3 install pylint
écrit un court script dans /usr/local/bin
qui appelle l’interpréteur python3 et semble donc supposer que tous les fichiers à vérifier sont des scripts python 3.
pour contourner ce problème, j’ai maintenant les fichiers suivants:
~/bin/pylint2
:
#!/usr/bin/python2
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint','console_scripts','pylint'
__requires__ = 'pylint'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pylint', 'console_scripts', 'pylint')()
)
et ~/bin/pylint3
:
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint','console_scripts','pylint'
__requires__ = 'pylint'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pylint', 'console_scripts', 'pylint')()
)
et puis, parce que j'aime utiliser pylint directement à partir du menu "Construire des commandes" de Geany, et que je ne peux pas spécifier de commandes différentes pour les scripts python 2 et python 3, j'ai également
~/bin/pylint
:
#!/bin/bash
if [[ $(head -n 1 "${@: -1}") == *python3* ]]
then
# python3 file
pylint3 "[email protected]"
else
pylint2 "[email protected]"
fi
qui envoie la bonne version en reniflant le shebang.
Pas parfait, certes, mais fonctionnel et peut-être utile pour les autres.