Review: 6 Python IDE pergi ke matras

Dari semua metrik yang dapat Anda gunakan untuk mengukur popularitas dan keberhasilan suatu bahasa, satu faktor yang pasti adalah jumlah lingkungan pengembangan yang tersedia untuknya. Peningkatan popularitas Python selama beberapa tahun terakhir telah membawa gelombang dukungan IDE yang kuat, dengan alat yang ditujukan baik untuk programmer umum dan mereka yang menggunakan Python untuk tugas-tugas seperti pekerjaan ilmiah dan pemrograman analitik.

Enam IDE dengan dukungan Python ini mencakup keseluruhan kasus penggunaan. Beberapa adalah IDE multibahasa yang memiliki dukungan Python melalui add-on atau pengemasan ulang produk lain dengan ekstensi khusus Python. Masing-masing menguntungkan audiens pengembang Python yang sedikit berbeda, meskipun banyak yang berusaha untuk menjadi berguna sebagai solusi universal.

Sejumlah IDE saat ini adalah kerangka kerja yang dilengkapi dengan plugin untuk bahasa dan tugas tertentu, bukan aplikasi yang ditulis dari dalam ke luar untuk mendorong pengembangan dalam bahasa tertentu. Untuk itu, pilihan IDE Anda mungkin ditentukan oleh apakah Anda memiliki pengalaman dengan IDE lain dari keluarga yang sama atau tidak.

Video terkait: Mengapa Python membuat pemrograman menjadi mudah

Bagi mereka yang tidak memiliki pengalaman seperti itu, PyCharm adalah salah satu tempat terbaik untuk memulai. Ini ramah untuk pendatang baru, tetapi tidak terhambat dalam set fiturnya. Faktanya, ini menggunakan beberapa fitur paling berguna di antara semua IDE yang diprofilkan di sini. Banyak dari fitur tersebut hanya tersedia dalam versi berbayar dari produk, tetapi ada banyak fitur dalam versi gratis untuk membantu pengembang pemula memulai.

LiClipse dan Python Tools for Visual Studio (PTVS) adalah pilihan yang baik untuk pengembang yang sudah akrab dengan Eclipse dan Microsoft Visual Studio. Keduanya adalah lingkungan pengembangan yang lengkap — sepenuh yang akan Anda temukan — yang mengintegrasikan Python dengan cukup baik. Namun, mereka juga aplikasi luas dan kompleks yang datang dengan banyak overhead kognitif. Jika Anda sudah menguasai salah satunya, Anda akan menganggapnya sebagai pilihan yang bagus untuk pekerjaan Python.

Inkarnasi Python dari ActiveState Komodo IDE adalah hal yang wajar bagi mereka yang telah menggunakan Komodo IDE untuk beberapa bahasa lain, dan memiliki fitur unik (seperti regular expression evaluator) yang seharusnya memperluas daya tariknya. Komodo layak dilihat dari dekat dari para pemula dan ahli.

Spyder paling cocok untuk bekerja dengan IPython atau alat komputasi ilmiah lainnya di distribusi seperti Anaconda, daripada sebagai platform pengembangan untuk Python pada umumnya. Akhirnya, IDLE paling baik disediakan untuk skrip cepat-dan-kotor, dan bahkan dalam hitungan itu, itu mungkin mengambil kursi belakang ke editor kode mandiri dengan plugin sintaks Python. Konon, IDLE selalu ada saat Anda membutuhkannya.

DIAM

IDLE, lingkungan pengembangan yang disertakan dengan hampir semua instalasi Python, dapat dianggap sebagai IDE Python default. Namun, IDLE sama sekali bukan pengganti IDE yang lengkap; Ini lebih seperti editor file yang mewah. Namun, IDLE tetap menjadi salah satu opsi default bagi pengembang Python untuk menguasai bahasanya, dan telah meningkat secara bertahap dengan setiap rilis Python, terutama dengan Python 3.5. (Lihat halaman ini untuk diskusi menarik tentang upaya terbaru untuk meningkatkan IDLE.)

IDLE dibangun seluruhnya dengan komponen yang dikirimkan dengan instalasi default Python. Selain dari penerjemah CPython itu sendiri, ini termasuk perangkat antarmuka Tkinter. Satu keuntungan membangun IDLE dengan cara ini: Ini berjalan lintas platform dengan sekumpulan perilaku yang konsisten. Kelemahannya, antarmuka bisa sangat lambat. Mencetak teks dalam jumlah besar dari skrip ke konsol, misalnya, jauh lebih lambat daripada jika skrip dijalankan langsung dari baris perintah.

IDLE memiliki beberapa kemudahan langsung. Itu olahraga built-in read-eval-print loop (REPL), atau konsol interaktif, untuk Python. Faktanya, shell interaktif ini adalah item pertama yang disajikan kepada pengguna saat IDLE diluncurkan, bukan editor kosong. IDLE juga menyertakan beberapa alat yang ditemukan di IDE lain, seperti memberikan saran untuk kata kunci atau variabel saat Anda menekan Ctrl-Space, dan debugger terintegrasi. Namun implementasi untuk sebagian besar fitur ini masih primitif dibandingkan dengan IDE lain dan tertutup oleh pemilihan komponen UI yang terbatas oleh Tkinter. Dan koleksi add-on pihak ketiga yang tersedia untuk IDLE (salah satu proyek tersebut adalah IdleX) tidak sekaya yang akan Anda temukan dengan IDE lainnya.

Singkatnya, IDLE paling baik untuk dua skenario. Yang pertama adalah ketika Anda ingin meretas skrip Python cepat, dan Anda memerlukan lingkungan yang telah dikonfigurasi sebelumnya untuk melakukannya. Yang kedua adalah untuk pemula yang baru saja melatih kakinya. Bahkan para pemula pun harus segera beralih ke opsi yang lebih canggih.

laba laba

Spyder adalah singkatan dari "Scientific PYthon Development EnviRonment." Ini dimaksudkan untuk digunakan sebagai meja kerja untuk komputasi ilmiah dengan Python, dan itu tercermin dalam set fitur, pengemasan, dan perilaku IDE secara keseluruhan. Spyder memiliki fitur yang berguna untuk pengembangan Python umum, tetapi kecuali Anda bekerja terutama dengan IPython dan paket komputasi ilmiah, Anda mungkin lebih baik menggunakan IDE yang berbeda.

Alasan terbesar untuk tidak menggunakan Spyder sebagai lingkungan pengembangan Python untuk keperluan umum bukanlah set fitur, tetapi proses penyiapan. Spyder tidak dikirimkan sebagai eksekusi mandiri seperti produk seperti Visual Studio atau PyCharm. Sebagai gantinya, ini dipasang sebagai paket Python. Jalur termudah Anda ke Spyder adalah menginstal distribusi Python yang sudah dimuat sebelumnya, seperti Anaconda dari Continuum Analytics.

1. Tersedia sebagai ekstensi, tetapi hanya mendukung pemeriksaan sintaks. 2. Tersedia sebagai add-on Eclipse. 3. Tersedia dalam versi komersial. 4. Lihat instruksi integrasi. 5. Menggunakan sistem kontrol versi yang diinstal pada host.
  DIAM Komodo LiClipse PyCharm PTVS laba laba
Dukungan Cython Tidak Ya (1) Tidak Ya (3) Tidak Tidak
Kontrol versi Tidak Iya Iya Iya Iya Ya (5)
Debugger grafis Tidak Iya Iya Iya Iya Tidak
Dukungan IPython Tidak Tidak Tidak Iya Ya (4) Iya
Makro Tidak Iya Ya (2) Ya (2) Iya Tidak
Banyak interpreter Tidak Iya Iya Iya Iya Iya
Refactoring Tidak Iya Iya Iya Iya Tidak
Integrasi database Tidak Iya Ya (2) Ya (3) Iya Tidak
HTML / CSS / JavaScript Tidak Iya Iya Iya Ya (3) Tidak

Spyder menyertakan IPython, yang merupakan pengganti konsol Python konvensional. Saat Anda mengetik perintah ke dalam IPython, hasilnya bisa dieksplorasi secara interaktif. Setiap perintah dapat diperlakukan sebagai "sel", atau segmen kode yang keluarannya dapat disimpan dan disusun.

Spyder menambahkan ini dengan mengintegrasikan perilaku sel ke dalam editor kodenya. Jika Anda memasukkan komentar yang diformat khusus ke dalam skrip Python apa pun, Anda dapat membaginya ke dalam sel dan mengeksekusi sel tersebut di antarmuka IPython dalam urutan apa pun. Dengan cara ini, sangat mudah menggunakan Spyder untuk membuat prototipe sel untuk ditempatkan di notebook IPython nanti.

Untuk debugging, Spyder menggunakan debugger Pdb built-in Python. Antarmuka baris perintah untuk Pdb sangat berbeda dari debugger grafis yang lebih canggih yang ditemukan di PyCharm atau LiClipse, meskipun Anda dapat menginstal debugger grafis Winpdb sebagai tambahan opsional. Sayangnya, Anda tidak dapat menggunakan Winpdb dengan Python 3, karena Winpdb memiliki ketergantungan pada paket yang masih tersedia di Python 2 (khususnya, wxPython). Untuk itu, kebanyakan orang akan terjebak dengan Pdb.

Spyder juga terbatas dibandingkan dengan IDE lain dalam integrasinya dengan sistem kontrol versi seperti Git dan Mercurial. Jika Anda bekerja dalam repositori proyek yang diinisialisasi, file dalam proyek itu akan menampilkan item menu konteks klik kanan untuk repositori tersebut. Meskipun demikian, tidak ada mekanisme kontrol versi yang dibangun langsung ke Spyder; Anda harus sudah menginstal aplikasi kontrol versi yang sesuai pada tingkat sistem, dengan executable-nya tersedia dari jalur sistem. Spyder juga tidak menyertakan alat untuk mengelola repositori di UI-nya. Kekurangan ini tidak terlalu buruk jika Anda sudah terbiasa mengelola repositori sendiri, tetapi itu bisa menjadi rintangan tambahan jika Anda belum terbiasa.

Spyder memang memiliki fitur yang berguna untuk pengembangan Python umum. Salah satu yang langsung menarik perhatian saya adalah panel penjelajah variabel di antarmuka Spyder. Saat Anda mengetik perintah ke IPython, variabel apa pun yang dibuat akan dicatat di sana dan dapat dieksplorasi secara interaktif. Alat lain yang berguna adalah Penghapus Modul Pengguna. Aktifkan dan interpreter Python akan memuat ulang semua modul dari awal saat menjalankan skrip Python. Dengan cara ini, setiap perubahan yang dibuat pada kode modul dapat diterapkan ke program yang sedang berjalan tanpa harus memulai ulang seluruh aplikasi.

ActiveState Komodo IDE

Produk IDE ActiveState mencakup versi untuk hampir setiap bahasa utama. Pendekatan perusahaan terhadap hal ini mirip dengan cara kerja LiClipse: Ambil produk dasar (dalam hal ini Komodo IDE) dan lengkapi dengan add-on untuk pengembangan Python.

Komodo paling cocok untuk mereka yang sudah terbiasa dengan inkarnasi Komodo untuk bahasa lain. Orang-orang dengan pengalaman seperti itu tidak akan kesulitan menyelami produk Python. Jika Anda kedinginan, ada beberapa kebiasaan UI yang perlu diperhatikan. Misalnya, bilah menu aplikasi tidak ditampilkan secara default; Anda harus mengklik menu hamburger di kanan atas atau tekan tombol Alt untuk menampilkannya. Ini dimaksudkan agar masalah tetap bersih dan sederhana, tetapi mungkin terlalu minimalis untuk beberapa selera.

Di sisi lain, beberapa pilihan antarmuka langsung menarik. Saya sangat menyukai "minimap", pratinjau kode yang diperbesar di editor, yang memungkinkan Anda melompat sekilas ke bagian mana pun dari file yang Anda edit. LiClipse memiliki fitur serupa, tetapi implementasi Komodo lebih mudah untuk dikerjakan.

Kebanyakan Python IDE dilengkapi dengan pemeriksaan sintaks khusus Python atau kode linting. Komodo IDE memiliki semua itu, tetapi juga telah dirancang untuk mendukung versi 2 dan 3 bahasa pada saat yang bersamaan. Jika Anda ingin meluncurkan shell Python, misalnya, dan Anda memiliki interpreter untuk kedua versi Python yang tersedia di jalur sistem Anda, Anda dapat secara eksplisit memilih versi mana pun. Saya sering perlu menjalankan tes cepat dari perilaku pernyataan yang diberikan dalam Python 2 dan Python 3 secara berdampingan, dan ini adalah cara praktis untuk melakukannya.

Komodo memberi Anda opsi untuk menerapkan beberapa konfigurasi run atau debug untuk suatu aplikasi, tetapi ini sedikit kurang fleksibel dibandingkan fitur serupa di LiClipse. Saat Anda meluncurkan aplikasi, Anda diberi pilihan profil untuk diterapkan ke program. Anda dapat menonaktifkan pemilih profil dan langsung menjalankan profil, tetapi penonaktifan hanya dapat dilakukan di seluruh aplikasi, bukan untuk proyek tertentu. Saya lebih suka menu tarik-turun bilah alat LiClipse tempat Anda dapat memilih profil tertentu atau meluncurkan profil yang terakhir digunakan dengan sekali klik.

Salah satu penyertaan yang benar-benar luar biasa adalah perangkat ekspresi reguler. Ketik ekspresi reguler di satu panel alat ini, berikan beberapa contoh data untuk diterapkan di panel kedua, dan hasilnya muncul di panel ketiga. Alat ini juga mendukung banyak ragam regex, termasuk Python, dan bahkan menunjukkan kepada Anda hasil operasi mencocokkan, membagi, dan mengganti. Saya berjuang sepanjang waktu dengan membuat regex yang berfungsi, jadi alat ini adalah anugerah.

Fitur out-of-the-box berguna lainnya adalah katalog potongan kode umum untuk Python. Klik "berjalan", misalnya, dan editor menyisipkan kode boilerplate untuk menggunakan os.walkfungsi Python untuk melintasi direktori, salah satu fungsi yang sintaks dan penggunaannya tidak pernah saya ingat begitu saja. Bahasa lain juga disertakan. Misalnya, jika Anda perlu memasukkan HTML terbitan standar ke dalam template Django yang Anda masak, Komodo telah membantu Anda.

Distribusi Python default dilengkapi dengan dukungan untuk SQLite di luar kotak. Komodo IDE melengkapi ini dengan menyediakan explorer built-in untuk database SQLite. Ini seperti versi aplikasi desktop "meja kerja" yang dipreteli yang disediakan untuk MySQL atau Microsoft SQL Server. Antarmukanya kikuk dan tidak menarik, tetapi sangat cocok untuk pemeriksaan cepat-dan-kotor atau pengeditan langsung database. Ini tidak dimaksudkan untuk berfungsi sebagai IDE database yang lengkap.

Anda akan menemukan banyak fitur berguna lainnya di Komodo, meskipun mereka tidak secara khusus menargetkan Python. Perekam makro memungkinkan Anda merekam dan memutar ulang tindakan umum, meskipun tidak merekam beberapa jenis tindakan seperti memilih profil aplikasi mana yang akan digunakan saat meluncurkan aplikasi. Fitur lain memungkinkan kolaborasi waktu nyata antara pengguna Komodo, meskipun mereka harus mendaftar akun dengan ActiveState untuk mengakses layanan.

LiClipse 

Eclipse IDE sering dikritik karena lambat dan kelebihan beban, tetapi dukungan bahasa yang luas dan galeri add-on pengembangan membuatnya menjadi alat yang hebat dan berharga. Python didukung di Eclipse melalui add-on PyDev. Jika Anda menggunakan Eclipse untuk pengembangan Python, taruhan terbaik Anda adalah menggunakan LiClipse. (Sepanjang ulasan ini, saya akan menggunakan LiClipse sebagai singkatan dari bundel fitur yang disediakan oleh LiClipse dan PyDev bersama-sama.)

LiClipse adalah pengemasan ulang Eclipse dengan PyDev, bersama dengan banyak komponen Eclipse lainnya yang dimaksudkan untuk meningkatkan pengalaman pengguna. Saat diluncurkan, LiClipse terlihat dan berperilaku sangat mirip dengan edisi reguler Eclipse, kecuali pencitraan merek dan ikon LiClipse, sehingga pengguna Eclipse yang berpengalaman tidak akan mengalami banyak masalah dalam mengonfigurasi ruang kerja sesuai keinginan mereka. Jika Anda tidak berpengalaman dengan Eclipse, Anda perlu waktu untuk mempelajari cara kerja ruang kerja Eclipse (aspek Eclipse ini secara rutin dikritik). Dalam hal ini, LiClipse paling baik untuk orang yang sudah terbiasa dengan Eclipse, mungkin dari mengerjakannya melalui bahasa lain.

Kartu catatan angka Kemampuan (30%) Kinerja (10%) Kemudahan penggunaan (20%) Dokumentasi (20%) Add-on (20%) Skor Keseluruhan (100%)
IDLE 3.5.1 6 7 8 7 5 6.5
Komodo IDE 10.1.1 8 8 7 8 8 7.8
LiClipse 3.1 9 7 7 8 9 8.2
PyCharm 2016.2.3 9 8 9 8 8 8.5
Spyder 3.0.0 7 7 7 7 6 6.8
Python Tools 2.2 untuk Visual Studio 2015 9 8 7 9 9 8.5