Bagaimana cara mengintegrasikan pep8.py di Eclipse?

90

Sedikit latar belakang:

  • PEP 8 adalah Panduan Gaya untuk Kode Python . Ini berisi konvensi yang harus diikuti oleh semua programmer python.
  • pep8.py adalah skrip (sangat berguna) yang memeriksa format kode dari skrip python yang diberikan, sesuai dengan PEP 8.
  • Eclipse adalah IDE yang bagus. Dengan ekstensi Pydev , itu dapat digunakan untuk mengembangkan Python

Saya menjalankan pep8.py secara manual saat saya membuat skrip, tetapi dengan proyek yang lebih besar saya lebih suka menggunakan Eclipse. Akan sangat berguna untuk mengintegrasikan pep8.py di Eclipse / Pydev, sehingga dapat dijalankan secara otomatis di semua file dalam proyek, dan arahkan ke baris yang berisi peringatan. Mungkin ada cara yang jelas untuk melakukannya, tapi saya belum menemukannya.

Pertanyaannya adalah: Bagaimana cara mengintegrasikan pep8.py di Eclipse?

David Arcos
sumber
3
Sekarang ada integrasi pep8 default. Lihat: stackoverflow.com/questions/399956/…
Fabio Zadrozny
1
Mengingat bahwa situasinya telah berubah sejak Anda menerima jawaban Dmitry Kochkin , dapatkah saya menyarankan agar Anda mengubah jawaban Anda yang diterima menjadi jawaban Fabio Zadrozny atau jawaban angelo.bixly ? Ini akan membantu pengunjung mendatang yang, seperti saya, yang sampai pada pertanyaan ini dari Google, memungkinkan kami menemukan informasi paling mutakhir terlebih dahulu - jika tidak, mungkin butuh waktu lama untuk menjawab pertanyaan ini ke atas.
Mark Booth

Jawaban:

87

Pada PyDev 2.3.0, pep8terintegrasi dalam PyDev secara default, bahkan pengiriman dengan versi defaultnya.

Buka Jendela> Preferensi

Ini harus diaktifkan di PyDev> Editor> Analisis Kode> pep8.py

Kesalahan / Peringatan harus ditampilkan sebagai penanda (seperti hal lain dalam analisis kode reguler).

Jika file tidak dianalisis, lihat https://stackoverflow.com/a/31001619/832230 .

Fabio Zadrozny
sumber
6
Ini menunjukkan banyak peringatan secara default. Namun, ketika saya menjalankannya dari baris perintah, itu menunjukkan lebih banyak lagi. Bagaimana saya bisa meyakinkannya untuk menampilkan semua peringatan di Eclipse seperti yang ditampilkan saat dijalankan dari baris perintah? Opsinya sama. Juga, mengarahkan keluaran pep8 ke konsol tidak melakukan apa-apa.
Krystian Cybulski
2
PyDev saat ini menggunakan versi yang lebih lama karena menggunakan versi internal Jython (yang saat ini ada di 2.2.1). Ada rencana untuk membuatnya berjalan secara eksternal untuk mendapatkan hasil atau memperbarui Jython internal agar dapat mendukung versi pep8.py yang lebih baru.
Fabio Zadrozny
Rupanya, ini tidak berfungsi dengan PyDev 4.2.0, tidak ada penanda yang pernah ditampilkan, baik dalam mode Peringatan atau Kesalahan.
Luís de Sousa
1
Baru saja mengujinya di sini dan berhasil untuk saya ... perhatikan bahwa sumber Anda harus berada di bawah folder sumber (yaitu: di PYTHONPATH) agar berfungsi (jika masih tidak, laporkan masalah di pelacak pydev ).
Fabio Zadrozny
Ini mulai berfungsi setelah saya mengaturnya ke mode Kesalahan. Ada juga penundaan dari saat Anda mengaktifkannya hingga mulai menandai kode.
Luís de Sousa
26

Saya tidak tahu bagaimana mengintegrasikannya untuk keseluruhan proyek, tetapi saya telah menggunakannya sebagai alat eksternal untuk menganalisis file individual.

Perhatikan bahwa pycodestylepaket tersebut adalah pengganti resmi dan merupakan versi pep8paket yang lebih baru. Untuk menginstalnya, jalankan:

$ sudo pip install --upgrade pycodestyle

Selanjutnya, di Eclipse:

  1. Pilih Run-External Tools-External Tools Configurations ...
  2. Pilih node root Program .
  3. Tekan tombol konfigurasi peluncuran baru .
  4. Masukkan Nama untuk konfigurasi peluncuran Anda. Saya menggunakan pycodestyle.
  5. Isi bidang berikut:

    Lokasi -${system_path:pycodestyle}

    Direktori kerja -${container_loc}

    Argumen - "${resource_name}"(Ini menggunakan file yang sedang aktif.)

Buka tab Umum dan konfirmasikan bahwa kotak centang Alokasikan Konsol dicentang.

Manfaat dari pendekatan ini adalah Anda dapat menggunakan versi paket yang paling mutakhir, dan tidak terbatas pada versi lama yang disertakan dengan PyDev. Dan jika Anda penasaran tentang pengaturan pylintdengan cara yang sama, lihat jawaban ini .

Dmitry Kochkin
sumber
1
Jika Anda mendapatkan kesalahan Referensi variabel kosongkan pilihan: $ {container_loc} jangan lupa untuk menambahkan folder sumber Anda ke PYTHONPATH (mungkin tidak ada jika Anda mengimpor proyek yang ada ke ruang kerja). Klik kanan pada nama proyek> Properties> PyDev - PYTHONPATH> tab Source folder dan klik Add source folder . Harus bekerja seperti pesona.
berni
2
Sekarang ada integrasi pep8 default. Lihat: stackoverflow.com/a/8532188/110451
Fabio Zadrozny
1
Ini tidak berguna untuk PERIKSA pep8, karena sebagian besar tersedia di Eclispe - tapi menurut saya bagus untuk autopep8! Terima kasih
tom stratton
12
  1. Buka Eclipse Anda
  2. Pergi ke Help dan pilih Install New Software
  3. Klik tombol Add dan kotak Dialog "Add Repository" akan muncul
  4. Anda dapat menggunakan nama apa pun yang Anda suka. (Saya menggunakan PyDev)
  5. Untuk lokasi, masukkan "http://pydev.org/updates"
  6. Klik Ok.
  7. Anda sekarang sedang dalam proses instalasi. Tunggu saja sampai selesai.
  8. Setelah instalasi, tutup Eclipse dan Buka lagi.
  9. Sekarang PyDev telah terinstal di Eclipse Anda, buka Window-> Preferences
  10. Pilih PyDev-> Editor-> Analisis Kode
  11. Buka tab pep8.py
  12. Pilih tombol radio untuk peringatan dan klik Ok.

Itu dia. IDE Eclipse Anda sekarang terintegrasi dengan PEP8. Untuk menjalankan pep8.py secara otomatis, klik kanan pada editor proyek Anda. Pilih PyDev dan klik "analisis kode". Pada tab masalah di ruang kerja Anda, Anda akan melihat peringatan yang menunjuk ke baris bahwa Anda telah melakukan pelanggaran di PEP8 (jika Anda telah melanggar).

Angelo yang luar biasa
sumber
Sesuatu yang sangat aneh, adalah tidak peduli seberapa keras saya mencoba untuk mengkonfigurasi pep8, peringatan dan penanda info di editor tidak muncul. Itu sampai saya menambahkan tampilan "Masalah", lalu tiba-tiba bekerja seperti pesona ...
Agey
10

ANALISIS KODE:

Di Eclipse ( PyDev ), jika Anda ingin analisis kode menggunakan gaya pep8 maka

Masuk ke: Windows -> Preferences -> PyDev -> Editor -> Code Analysis -> tab pep8.py dan pilih Peringatan klik tombol Apply dan OK.

Dalam kode python Anda jika Anda memvalidasi gaya pengkodean pep8 itu akan memberi Anda peringatan

FORMAT KODE OTOMATIS:

Di Eclipse ( PyDev ), jika ingin Auto Format kode python menggunakan gaya pep8 maka

Pergi ke: Windows -> Preferences -> PyDev -> Editor -> Code Style -> Code Formatter -> klik pada kotak centang ( Gunakan autopep8.py untuk format konsol? ) Klik Apply dan tombol OK.

Jika Anda ingin menambah panjang garis (default pep8 adalah 79) di bawah Gunakan autopep8.py Anda dapat mengatur jenis parameter --max-line-length=150jika Anda mengatur panjang maksimal menjadi 150

Jika menekan shortcut format otomatis ( Ctrl + Shift + f ) maka secara otomatis kode python Anda akan diformat seperti gaya pep8

Sagar Pise
sumber
6

Itu tampaknya belum sepenuhnya terintegrasi ke dalam Pydev.

Seperti yang disarankan dalam posting ini ,

[itu] akan membutuhkan perubahan kode dalam pydev - opsi fleksibel akan menambahkan preferensi untuk membiarkan pengguna memilih pola mana yang ingin dia cocokkan untuk membuat hyperlink (dan mengatakan grup mana dalam pertandingan yang cocok adalah garis dan mana yang mengajukan)...

Atau, Anda dapat mencobanya dengan memainkan hard-code dengan: org.python.pydev.debug.ui.PythonConsoleLineTracker (seharusnya cukup mudah dipahami).

Sebuah permintaan tidak eksis hanya itu, tapi tampaknya masih terbuka 1 tahun setelah penciptaan ...

VonC
sumber