Nhận xét của @sayth cho câu trả lời được chấp nhận là điều đã thu hút tôi ở đây - Tôi viết cả hai tập lệnh python 2 và python 3, và tôi muốn có thể kiểm tra một trong hai quy tắc chính xác. cài đặt pylint bằng cách pip3 install pylint
viết một đoạn script ngắn để /usr/local/bin
gọi trình thông dịch python3 và do đó, giả sử tất cả các tệp cần kiểm tra là python 3 script.
để khắc phục điều này, bây giờ tôi có các tệp sau:
~/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')()
)
và ~/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')()
)
và sau đó, vì tôi thích sử dụng pylint trực tiếp từ menu "Build Commands" của Gean, và tôi không thể chỉ định các lệnh khác nhau cho tập lệnh python 2 và python 3, tôi cũng có
~/bin/pylint
:
#!/bin/bash
if [[ $(head -n 1 "${@: -1}") == *python3* ]]
then
# python3 file
pylint3 "$@"
else
pylint2 "$@"
fi
trong đó gửi phiên bản chính xác bằng cách đánh hơi shebang.
Không hoàn hảo, chắc chắn, nhưng chức năng và, có lẽ, hữu ích cho người khác.