Ulasan: 6 Python IDE pergi ke tikar

Dari semua metrik yang dapat anda gunakan untuk mengukur populariti dan kejayaan bahasa, salah satu faktor yang pasti adalah bilangan persekitaran pembangunan yang tersedia untuknya. Peningkatan populariti Python selama beberapa tahun terakhir membawa gelombang sokongan IDE yang kuat, dengan alat yang ditujukan untuk pengaturcara umum dan mereka yang menggunakan Python untuk tugas seperti kerja ilmiah dan pengaturcaraan analitis.

Enam IDE dengan sokongan Python ini merangkumi pelbagai kes penggunaan. Sebilangannya adalah IDE berbilang bahasa yang mempunyai sokongan Python melalui tambahan atau pengemasan semula produk lain dengan sambungan khusus Python. Masing-masing memberi manfaat kepada khalayak Python yang sedikit berbeza, walaupun banyak yang berusaha untuk menjadi penyelesaian universal.

Sebilangan besar IDE hari ini adalah kerangka kerja yang dilengkapi dengan plugin untuk bahasa dan tugas tertentu, dan bukannya aplikasi yang ditulis dari dalam ke luar untuk mendorong pengembangan dalam bahasa tertentu. Untuk itu, pilihan IDE anda mungkin ditentukan oleh sama ada anda mempunyai pengalaman dengan IDE lain dari keluarga yang sama atau tidak.

Video berkaitan: Mengapa Python memudahkan pengaturcaraan

Bagi mereka yang tidak mempunyai pengalaman seperti itu, PyCharm adalah salah satu tempat terbaik untuk memulakan. Ini mesra untuk pendatang baru, tetapi tidak tersekat pada set fiturnya. Sebenarnya, ia menampilkan beberapa ciri yang paling berguna di antara semua IDE yang diprofilkan di sini. Sebilangan besar ciri tersebut hanya tersedia dalam versi produk dengan bayaran, tetapi terdapat banyak versi percuma untuk membantu pemaju yang baru memulakannya.

LiClipse dan Python Tools for Visual Studio (PTVS) adalah pilihan yang baik untuk pembangun yang sudah biasa mengenal Eclipse dan Microsoft Visual Studio. Kedua-duanya adalah persekitaran pembangunan yang sempurna - sama seperti yang anda akan temui - yang mengintegrasikan Python dengan cukup baik. Namun, aplikasi ini juga luas dan kompleks yang dilengkapi dengan banyak overhead kognitif. Sekiranya anda sudah menguasai salah satu daripadanya, anda akan merasa ia adalah pilihan terbaik untuk kerja Python.

Penjelmaan Python dari Komodo IDE ActiveState adalah wajar bagi mereka yang telah menggunakan Komodo IDE untuk beberapa bahasa lain, dan ia mempunyai ciri-ciri unik (seperti penilai ekspresi biasa) yang semestinya memperluas daya tariknya. Komodo pantas mendapat perhatian dari pemula dan ahli.

Spyder sangat sesuai untuk bekerja dengan IPython atau alat pengkomputeran saintifik lain dalam pengedaran seperti Anaconda, dan bukan sebagai platform pengembangan untuk Python secara amnya. Akhirnya, IDLE paling sesuai digunakan untuk skrip cepat dan kotor, dan walaupun berdasarkan jumlah itu, ia mungkin memerlukan tempat duduk belakang untuk penyunting kod yang berdiri sendiri dengan pemalam sintaks Python. Yang mengatakan, IDLE sentiasa ada ketika anda memerlukannya.

IDLE

IDLE, persekitaran pengembangan yang disertakan dengan hampir setiap pemasangan Python, dapat dianggap sebagai Python IDE lalai. Walau bagaimanapun, IDLE sama sekali bukan pengganti IDE yang penuh; ia lebih seperti penyunting fail mewah. Namun, IDLE tetap menjadi salah satu pilihan lalai bagi pembangun Python untuk mengikuti perkembangan bahasa, dan ia bertambah baik secara bertahap dengan setiap pelepasan Python, terutama dengan Python 3.5. (Lihat halaman ini untuk perbincangan menarik mengenai usaha baru-baru ini untuk meningkatkan IDLE.)

IDLE dibina sepenuhnya dengan komponen yang dihantar dengan pemasangan lalai Python. Selain daripada jurubahasa CPython itu sendiri, ini termasuk kit alat antara muka Tkinter. Satu kelebihan membina IDLE dengan cara ini: Ia berjalan lintas platform dengan set tingkah laku yang konsisten. Sebagai kelemahan, antara muka boleh menjadi sangat perlahan. Mencetak sejumlah besar teks dari skrip ke konsol, misalnya, banyak urutan besarnya lebih lambat daripada jika skrip dijalankan langsung dari baris perintah.

IDLE mempunyai beberapa kemudahan segera. Ia menggunakan gelung baca-eval-cetak terbina dalam (REPL), atau konsol interaktif, untuk Python. Sebenarnya, shell interaktif ini adalah item pertama yang disampaikan kepada pengguna ketika IDLE dilancarkan, dan bukannya editor kosong. IDLE juga menyertakan beberapa alat yang terdapat di IDE lain, seperti memberikan cadangan untuk kata kunci atau pemboleh ubah ketika anda menekan Ctrl-Space, dan debugger bersepadu. Tetapi pelaksanaan untuk kebanyakan ciri ini bersifat primitif berbanding IDE lain dan tersembunyi oleh pemilihan komponen UI terhad Tkinter. Dan koleksi alat tambah pihak ketiga yang tersedia untuk IDLE (satu projek seperti itu adalah IdleX) tidak semewah yang anda dapati dengan IDE lain.

Ringkasnya, IDLE adalah yang terbaik untuk dua senario. Yang pertama adalah ketika anda ingin meretas skrip Python yang cepat, dan anda memerlukan persekitaran yang telah dikonfigurasi untuk melakukannya. Yang kedua adalah untuk pemula yang baru sahaja mula berdiri. Malah pemula dengan cepat perlu lulus ke pilihan yang lebih mantap.

Perisik

Spyder adalah kependekan dari "Scientific PYthon Development EnviRonment." Ini dimaksudkan untuk digunakan sebagai meja kerja untuk pengkomputeran saintifik dengan Python, dan itu tercermin dalam set ciri, kemasan, dan keseluruhan tingkah laku IDE. Spyder mempunyai ciri berguna untuk pengembangan Python secara umum, tetapi melainkan jika anda bekerja terutamanya dengan pakej pengkomputeran IPython dan saintifik, anda mungkin lebih baik dengan IDE yang berbeza.

Sebab terbesar untuk tidak menggunakan Spyder sebagai persekitaran pengembangan Python tujuan umum bukanlah set ciri, tetapi proses penyiapan. Spyder tidak dihantar sebagai mandiri yang dapat dilaksanakan dengan cara produk seperti Visual Studio atau PyCharm. Sebaliknya, ia dipasang sebagai pakej Python. Jalan termudah anda ke Spyder adalah memasang pengedaran Python yang disertakan dengan pramuat, seperti Anaconda Continuum Analytics.

1. Tersedia sebagai pelanjutan, tetapi hanya menyokong pemeriksaan sintaks. 2. Tersedia sebagai add-on Eclipse. 3. Terdapat dalam versi komersial. 4. Lihat arahan integrasi. 5. Menggunakan sistem kawalan versi yang dipasang pada hos.
  IDLE Komodo LiClipse PyCharm PTVS Perisik
Sokongan Cython Tidak Ya (1) Tidak Ya (3) Tidak Tidak
Kawalan versi Tidak Ya Ya Ya Ya Ya (5)
Penyahpepijat grafik Tidak Ya Ya Ya Ya Tidak
Sokongan IPython Tidak Tidak Tidak Ya Ya (4) Ya
Makro Tidak Ya Ya (2) Ya (2) Ya Tidak
Penafsir pelbagai Tidak Ya Ya Ya Ya Ya
Pemfaktoran semula Tidak Ya Ya Ya Ya Tidak
Integrasi pangkalan data Tidak Ya Ya (2) Ya (3) Ya Tidak
HTML / CSS / JavaScript Tidak Ya Ya Ya Ya (3) Tidak

Spyder merangkumi IPython, yang merupakan pengganti konsol Python konvensional. Apabila anda menaip perintah ke IPython, hasilnya dapat diterokai secara interaktif. Setiap perintah dapat diperlakukan sebagai "sel", atau segmen kod yang dapat memiliki outputnya disimpan dan disusun.

Spyder menambah ini dengan mengintegrasikan tingkah laku sel ke dalam penyunting kodnya. Sekiranya anda memasukkan komen yang diformat khas ke dalam skrip Python, anda boleh membahagikannya ke dalam sel dan melaksanakan sel-sel tersebut di antara muka IPython mengikut urutan apa pun. Dengan cara ini, mudah digunakan Spyder untuk memprotaip sel untuk penempatan ke dalam notebook IPython di kemudian hari.

Untuk penyahpepijatan, Spyder menggunakan debugger Pdb terbina dalam Python. Antaramuka baris perintah untuk Pdb jauh dari debug grafik grafik yang lebih canggih yang terdapat di PyCharm atau LiClipse, walaupun anda boleh memasang debugger grafik Winpdb sebagai tambahan. Sayangnya, anda tidak dapat menggunakan Winpdb dengan Python 3, kerana ia bergantung pada pakej yang masih hanya tersedia di Python 2 (khusus, wxPython). Untuk itu, kebanyakan orang akan terjebak dengan Pdb.

Spyder juga terhad berbanding IDE lain dalam penyatuannya dengan sistem kawalan versi seperti Git dan Mercurial. Sekiranya anda bekerja di repositori projek yang diinisialisasi, fail dalam projek itu akan menunjukkan item menu konteks klik kanan untuk repositori. Yang mengatakan, tidak ada mekanisme kawalan versi yang dibina secara langsung ke dalam Spyder; anda perlu mempunyai aplikasi kawalan versi yang sesuai yang sudah dipasang pada tahap sistem, dengan pelaksanaannya yang tersedia dari jalan sistem. Spyder tidak menyertakan alat untuk menguruskan repositori dalam UInya. Kekurangan ini tidak begitu buruk jika anda sudah biasa menguruskan repositori sendiri, tetapi ia menjadi rintangan tambahan jika tidak.

Spyder memang mempunyai ciri-ciri berguna untuk pembangunan Python secara umum. Salah satu yang langsung menarik perhatian saya ialah panel explorer berubah-ubah di antara muka Spyder. Semasa anda menaip perintah ke IPython, sebarang pemboleh ubah yang dibuat dicatat di sana dan dapat diterokai secara interaktif. Alat lain yang berguna adalah Penghapus Modul Pengguna. Aktifkannya dan jurubahasa Python akan memuatkan semula semua modul dari awal apabila melaksanakan skrip Python. Dengan cara ini, setiap perubahan yang dibuat pada kod modul dapat diterapkan pada program yang berjalan tanpa harus menghidupkan ulang keseluruhan aplikasi.

ActiveState Komodo IDE

Produk IDE ActiveState merangkumi versi untuk hampir semua bahasa utama. Pendekatan syarikat untuk ini sedikit seperti bagaimana LiClipse berfungsi: Ambil produk asas (dalam kes ini Komodo IDE) dan lengkapkannya dengan tambahan untuk pengembangan Python.

Komodo sangat sesuai untuk mereka yang sudah biasa dengan penjelmaan Komodo untuk bahasa lain. Orang yang mempunyai pengalaman seperti ini tidak akan menghadapi masalah untuk menyelami produk Python. Sekiranya anda berada dalam keadaan sejuk, terdapat beberapa kebiasaan UI yang perlu diperhatikan. Sebagai contoh, bar menu aplikasi tidak terdedah secara lalai; anda mesti mengklik menu hamburger di kanan atas atau ketik kekunci Alt untuk menunjukkannya. Ini bertujuan untuk menjaga kebersihan dan kesederhanaan, tetapi mungkin terlalu minimalis untuk beberapa selera.

Sebaliknya, beberapa pilihan antara muka langsung menarik. Saya sangat menyukai "minimap", pratonton kod yang diperkecil dalam editor, yang membolehkan anda melihat sekilas ke mana-mana bahagian fail yang anda edit. LiClipse mempunyai ciri yang serupa, tetapi pelaksanaan Komodo lebih mudah dilakukan.

Sebilangan besar IDE Python dilengkapi dengan pemeriksaan sintaks khusus Python atau peletakan kod. Komodo IDE mempunyai semua itu, tetapi ia juga dirancang untuk menyokong versi 2 dan 3 bahasa pada masa yang sama. Sekiranya anda ingin melancarkan shell Python, dan anda mempunyai jurubahasa untuk kedua-dua versi Python yang tersedia di jalan sistem anda, anda boleh memilih salah satu versi secara jelas. Saya sering perlu menjalankan ujian pantas mengenai perilaku penyataan yang diberikan dalam Python 2 dan Python 3 secara bersebelahan, dan ini adalah cara yang berguna untuk melakukannya.

Komodo memberi anda pilihan untuk menerapkan konfigurasi run atau debug berbilang untuk aplikasi, tetapi sedikit kurang fleksibel daripada fitur serupa di LiClipse. Semasa melancarkan aplikasi, anda diberi pilihan profil untuk diaplikasikan ke program ini. Anda boleh mematikan pemilih profil dan terus menjalankan profil, tetapi penonaktifan hanya dapat dilakukan berdasarkan aplikasi, bukan untuk projek tertentu. Saya lebih suka menu lungsur bar alat LiClipse dari mana anda boleh memilih profil tertentu atau melancarkan profil yang paling baru digunakan dengan satu klik.

Satu penyertaan yang benar-benar indah adalah alat ekspresi biasa. Ketik ungkapan biasa dalam satu panel alat ini, berikan beberapa contoh data untuk menerapkannya pada panel kedua, dan hasilnya muncul pada sepertiga. Alat ini juga menyokong pelbagai rasa regex, termasuk Python, dan bahkan menunjukkan hasil operasi padanan, perpecahan, dan penggantian. Saya berjuang sepanjang masa dengan membuat regexes kerja, jadi alat ini adalah anugerah.

Ciri lain yang berguna di luar kotak ialah katalog coretan kod biasa untuk Python. Contohnya, klik "jalan kaki", dan editor memasukkan kod pelat boiler untuk menggunakan os.walkfungsi Python untuk melintasi direktori, salah satu fungsi yang sintaks dan penggunaannya tidak dapat saya ingat langsung. Bahasa lain juga disertakan. Sebagai contoh, jika anda perlu memasukkan HTML terbitan standard ke dalam templat Django yang sedang anda masak, Komodo telah melindungi anda.

Pengedaran Python lalai dilengkapi dengan sokongan untuk SQLite di luar kotak. Komodo IDE melengkapkan ini dengan menyediakan penjelajah terbina dalam untuk pangkalan data SQLite. Ini seperti versi aplikasi desktop "meja kerja" yang dilucutkan yang disediakan untuk MySQL atau Microsoft SQL Server. Antaramuka tidak stabil dan tidak menarik, tetapi sangat sesuai untuk pemeriksaan cepat dan kotor atau penyuntingan pangkalan data. Ia tidak bertujuan untuk berfungsi sebagai IDE pangkalan data yang lengkap.

Anda akan menemui banyak ciri berguna lain di Komodo, walaupun mereka tidak mensasarkan Python secara khusus. Perekam makro membolehkan anda merakam dan memainkan semula tindakan biasa, walaupun sepertinya tidak merakam beberapa jenis tindakan seperti memilih profil aplikasi yang akan digunakan ketika melancarkan aplikasi. Ciri lain membolehkan kolaborasi masa nyata antara pengguna Komodo, walaupun mereka perlu mendaftar akaun dengan ActiveState untuk mengakses perkhidmatan tersebut.

LiClipse 

Eclipse IDE sering dikritik kerana lambat dan berlebihan, tetapi sokongan bahasa dan galeri pengembangannya yang luas menjadikannya alat yang kuat dan berharga. Python disokong dalam Eclipse melalui add-on PyDev. Sekiranya anda menggunakan Eclipse selain daripada pengembangan Python, pertaruhan terbaik anda ialah merebut LiClipse. (Sepanjang tinjauan ini, saya akan menggunakan LiClipse sebagai singkatan untuk kumpulan ciri yang disediakan bersama oleh LiClipse dan PyDev.)

LiClipse adalah pengemasan semula Eclipse dengan PyDev, bersama dengan sejumlah komponen Eclipse lain yang dimaksudkan untuk meningkatkan pengalaman pengguna. Semasa dilancarkan, LiClipse kelihatan dan berperilaku seperti edisi biasa Eclipse, melarang penjenamaan dan ikon LiClipse, sehingga pengguna Eclipse yang berpengalaman seharusnya tidak menghadapi banyak masalah dalam mengkonfigurasi ruang kerja sesuai dengan keinginan mereka. Sekiranya anda tidak berpengalaman dengan Eclipse, anda memerlukan sedikit masa untuk mengetahui bagaimana ruang kerja Eclipse beroperasi (aspek Eclipse ini dikritik secara rutin). Dalam pengertian itu, LiClipse adalah yang terbaik untuk orang yang sudah selesa dengan Eclipse, mungkin dari mengusahakannya melalui bahasa lain.

Kad Markah Keupayaan (30%) Prestasi (10%) Kemudahan penggunaan (20%) Dokumentasi (20%) Alat tambah (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
Alat Python 2.2 untuk Visual Studio 2015 9 8 7 9 9 8.5