Komentar @sayth terhadap jawaban yang diterima adalah yang membuat saya tertarik di sini - saya menulis kedua skrip python 2 dan python 3, dan saya ingin dapat mengecek baik terhadap aturan yang benar. menginstal pylint menggunakan pip3 install pylint
menulis skrip pendek /usr/local/bin
yang memanggil interpreter python3, dan tampaknya, oleh karena itu menganggap semua file yang akan diperiksa adalah skrip python 3.
untuk mengatasi ini, saya sekarang memiliki file berikut:
~/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')()
)
dan ~/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')()
)
dan kemudian, karena saya suka menggunakan pylint langsung dari menu "Build Commands" Geany, dan saya tidak bisa menentukan perintah yang berbeda untuk skrip python 2 dan python 3, saya juga punya
~/bin/pylint
:
#!/bin/bash
if [[ $(head -n 1 "${@: -1}") == *python3* ]]
then
# python3 file
pylint3 "$@"
else
pylint2 "$@"
fi
yang mengirimkan versi yang benar dengan mengendus shebang.
Tidak sempurna, tentu saja, tetapi fungsional dan, mungkin, bermanfaat bagi orang lain.