Pemahaman saya adalah bahwa rilis terbaru Pylint (1.0.0 pada saat penulisan ini) memiliki dukungan untuk Python 3, tetapi saya tidak dapat membuatnya bekerja pada 64-bit Ubuntu 13.04 dengan Python 3.3.
Saya mengikuti petunjuk instalasi di situs PyPi , dan Pylint 1.0.0 tampaknya berhasil diinstal ( pylint --version
mengembalikan pylint 1.0.0), dan bekerja dengan kode Python 2.7, tetapi melaporkan kesalahan sintaks ketika melihat pernyataan nonlocal dan semacamnya.
Apa yang menyebabkannya? Apakah ada instruksi instalasi khusus untuk Pylint di Ubuntu?
sudo apt install pylint3
.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
:dan
~/bin/pylint3
: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
:yang mengirimkan versi yang benar dengan mengendus shebang.
Tidak sempurna, tentu saja, tetapi fungsional dan, mungkin, bermanfaat bagi orang lain.
sumber
Ekosistem pylint telah berubah sejak (setelah pertanyaan ini diajukan), dan sekarang ada pylint yang terpisah untuk python3. Itu dapat diinstal dengan:
sudo apt install pylint3
Bekerja untuk saya di Ubuntu 16.04.2 LTS
sumber
Sebagai metode lain untuk menjalankan pylint pada Python 2 dan 3, perhatikan bahwa Anda dapat menggunakan
-m
sakelar Python untuk menjalankan modul yang diinstal pada sistem dalam versi Python saat ini, sehingga Anda dapat melakukanuntuk secara eksplisit memilih yang mana yang Anda inginkan. Anda bisa menjadikan ini menjadi alias atau skrip shell jika Anda mau.
sumber
Akar masalahnya adalah pylint harus datang dengan skrip konsol titik masuk untuk / usr / local / bin / pylint2 dan / usr / local / bin / pylint3. Ini harus dianggap sebagai bug.
Berikut ini tidak berfungsi; masih menjalankan pylint2:
Berikut ini adalah apa yang berhasil saya gunakan:
sumber
Ini sebagai jawaban atas jawaban simons. Saya hanya memikirkannya dengan cara yang berbeda dan berpikir itu bisa berguna bagi mereka yang mencari solusi untuk beberapa versi python / pylint.
Menginstal pylint untuk 3.x dan mempertahankan 2.7 default atau sebaliknya mudah dilakukan menggunakan virtualenv.
Buat lingkungan virtual Anda. di env Anda saat diaktifkan jalankan
di sini Anda dapat mencari tahu di mana env Anda telah meletakkan python dan pylint Anda
lalu
Maka itu hanya masalah mengatur ide Anda untuk menggunakan jalur linting dan / atau jalur python. Saya tahu ini bekerja dengan Sublime3 jadi saya akan menggunakannya dalam contoh di bawah ini.
di Luhur di menu tajuk atas pilih Preferensi> Pengaturan Paket> Pylinter> Pengaturan - Pengguna.
Itu hanya objek json. Mengatur
Simpan file. Saya juga membuat salinan file dan menyimpannya di direktori venv sehingga saya dapat dengan mudah beralih dengan menyalin dan menempel konfigurasi ini ketika saya membutuhkan linter ini. Ketika saya tidak melakukannya, saya hanya mengatur ulang pengaturan-Pylinter.sublime kembali ke default untuk pengguna dan itu tampaknya cara termudah yang saya temukan. Maaf saya tidak tahu perintah windows atau saya akan meletakkannya di sana.
sumber