در مطلب شماره قبل با نحوه نصب پایتون روی سیستمعامل ویندوز 11 آشنا شدیم و دیدیم که هنگام نصب پایتون روی سیستمعامل ویندوز یا سایر سیستمعاملها، محیط توسعه یکپارچه این زبان برنامهنویسی روی سیستمعاملها نصب میشود.
با اینحال، مشکلی که محیط فوق دارد این است که قابلیتهای پایه و اولیه در اختیار برنامهنویسان قرار میدهد. به بیان دقیقتر، برای کارهای پیشرفتهتر باید به سراغ محیطهای توسعه یکپارچه پیشرفتهای بروید که قابلیتهای کارآمد و تخصصی ارایه میکنند.
در این مطلب با محبوبترین محیطهای توسعه یکپارچهای که برای زبان برنامهنویسی پایتون ارایه شدهاند و برای انجام کارهایی مثل علم دادهها و برنامهنویسی وب کاربرد دارند آشنا میشویم.
پیشنهاد مقاله: آموزش رایگان پایتون: نکات مهمی که باید درباره Python بدانید
محیط توسعه یکپارچه چیست؟
محیط توسعه یکپارچه IDE سرنام «Integrated Development Environment» با ارایه ابزارهای موردنیاز توسعهدهندگان مثل ویرایشگر کد منبع، دیباگر و ابزارهایی برای خودکارسازی ساخت نرمافزارها به توسعهدهندگان اجازه میدهد به شکل بهتری روی منطق تجاری برنامه متمرکز شوند.
افراد با هر سطحی از مهارتهای کدنویسی به یک محیط برنامهنویسی نیاز دارند تا بتوانند کدهای خود را به فایلهای اجرایی تبدیل کنند. به لحاظ تئوری این امکان وجود دارد که از ویرایشگرهای متنی مثل نوتپد برای نوشتن کدهای پایتون، ترجمه و اجرای آنها استفاده کنید، اما به دلیل اینکه فاقد امکانات تخصصی هستند برای انجام کارهای بزرگ مناسب نیستند. بهطور مثال، ویرایشگر کد دارای برجستهسازی ترکیب نحوی و قابلیت پیشنهاددهی است.
یکی از ویژگیهای اصلی محیطهای توسعه یکپارچه پایتون، امکان اجرا و ویرایش کدهای اسکریپتی است. بنابراین در هنگام یادگیری زبان برنامهنویسی پایتون به محیطی نیاز دارید که قابلیتهایی مثل برجستهسازی ترکیب نحوی، مخفیسازی یا نمایش بخشی از کد، تطبیق پرانتز و سایر موارد را داشته باشد. در یک محیط توسعه یکپارچه باید بتوان آگاهی نسبی از فایلهای منبع پروژه بهدست آورد.
یک IDE پایتون باید توانایی اجرای کدها را نیز داشته باشد. ممکن است محیط برنامهنویسی پایتون ویژگیهای پیشرفتهتری همچون پیشنهاد کد، اشکالزدایی و قابلیت اضافه کردن مخزنهای آنلاین به پروژه را ارایه کند. با بررسی محیطهای توسعه یکپارچه مختلف و میزان استفاده کاربران از آنها، میتوان Pycharm ،Visual Studio Code و AWS Cloud9 را به عنوان محبوبترین محیطهای توسعه یکپارچه پایتون بر شمرد، با این حال، در ادامه مقاله کاربردیترین محیطهای توسعه یکپارچه پایتون که مناسب کاربران ایرانی هستند را بررسی خواهیم کرد.
Sublime Text
- نوع: ویرایشگر کد
- دانلود: http://www.sublimetext.com
بهطور معمول، Sublime Text اصلیترین ویرایشگر متنی مورد استفاده برنامهنویسهای مبتدی است، زیرا Sublime Text توسط همه سیستمعاملها پشتیبانی شده و تجربه کاربری خوبی را انتقال میدهد. رابط کاربری این ابزار به خوبی طراحی شده و گزینهها و منوها به سهولت در اختیار برنامهنویسان قرار دارد.
علاوه بر این کار با این ویرایشگر ساده و راحت است. Sublime برای افرادی که قصد دارند تازه به دنیای برنامهنویسی قدرم بگذارند گزینه مناسبی است. هنگامی که Sublimeرا نصب کردید، در ادامه به راحتی قادر به گسترش ویژگیهای کاربردی آن هستید. افزونههای ویرایشگر Sublime به زبان پایتون نوشته شدهاند و امکان سفارشیسازی آن وجود دارد.
رابط کاربری جذاب Sublime و افزونههای مختلف پایتون قابل دسترس آن برای اعمالی مانند برجستهسازی ترکیبی نحوی، پیدا کردن فایلهای منبع و تجزیه و تحلیل معیارهای کد باعث شده Sublime گزینه مناسبی برای شروع برنامهنویسی باشد.
Wing Python
- نوع: محیط توسعه یکپارچه
- دانلود: https://wingware.com/downloads
Wing Python IDE به شکل اختصاصی برای پایتون طراحی شده و دارای سه نسخه 101، شخصی و حرفهای است. نسخه 101 نسخه سادهای از Wing Python است که ویژگیهایی مثل دیباگر حداقلی، ویرایشگر و جستجو را دارد.
نسخه حرفهای علاوه بر ویژگیهای فوق، ویژگیهای دیگری مانند توسعه از راه دور، یونیت تست، بازسازی (Refactoring)، پشتیبانی از چارچوبها و سایر موارد را دارد. Wing Python IDE برای توسعهدهندگان مبتنی و متوسط مناسب است، زیرا این محیط برنامهنویسی، دارای قابلیت تکمیل خودکار کدها و ایجاد تورفتگی به شکل خودکار است.
با استفاده از Wing Python IDE میتوان پروژههای جنگو (Django) و ادغام کوئریها را به خوبی انجام داد. در Wing Pythonقالبهای مناسب مخصص برنامه نویسان مبتدی قرار دارد که با کمک آنها بتوانند بهتر با برنامهنویسی آشنا شوند.
IDLE
- نوع: محیط توسعه یکپارچه
- دانلود: https://docs.python.org/3/library/idle.html
IDLE یک محیط توسعه یکپارچه است که هنگام نصب پایتون روی سیستمعاملها نصب میشود. IDLE به نسبت سایر محیطهای توسعه حداقل امکانات ممکن را ارایه میکند.IDLE با زبان برنامهنویسی پایتون توسعه داده شده و رابط کاربری گرافیکی آن با استفاده از ابزار تکینتر (Tkinter Toolbox) توسعه پیدا کرده است.
با اجرای IDLE یک محیط کدنویسی پایتون باز میشود، درست مثل اینکه پایتون از طریق ترمینال اجرا شده باشد. در IDLE امکان استفاده از قطعه کدها وجود دارد، این کدهای افزونه یا اسنیپتها، قطعه کدهایی با قابلیت استفاده مجدد هستند که میتوان آنها را در قالب واحدهای عملیاتی پیمانهبندی شده کوچک به پروژه اضافه کرد.
علاوه بر این، این محیط کلمات کلیدی و خروجی را هایلایت میکند. میتوان کدنویسی را با باز کردن یک پنجره جدید آغاز کرد، کدها بهطور مناسب برجسته شده و به شکل خودکار با سطح تورفتگی قابل تنظیم، نمایش داده میشوند. IDLE فاقد امکانات مدیریت پروژه است، اما اگر پروژه شامل فایلهای زیادی نیست، مشکلی در این خصوص وجود ندارد. علاوه بر این، IDLE دارای ساز و کار عیبیابی قدرتمندی است. دیباگر IDLE پشته فراخوانی (Call Stack)، وضعیت متغیرهای محلی و متغیرهای سراسری را نشان میدهد.
Anjuta
- نوع: محیط توسعه یکپارچه
- دانلود: https://linux.softpedia.com/get/Text-Editing-Processing/IDEs/Anjuta-IDE-203.shtml
Anjuta یکی دیگر از محیطهای توسعه یکپارچه است که قادر به پشتیبانی از زبانهای برنامه نویسی مثل سی، سیپلاسپلاس، پایتون، جاوا و جاوا اسکریپت است. رابط کاربری Anjuta انعطافپذیر است و سیستم Docking آن به توسعهدهندگان اجازه سفارشیسازی برخی از مولفههای رابط کاربری را میدهد. علاوه بر این، Anjuta قابلیت کنترل نسخه و خطایابی را دارد.
Eric
- نوع: محیط توسعه یکپارچه
- دانلود: https://eric-ide.python-projects.org/eric-download.html
Eric یک محیط توسعه یکپارچه چندسکویی قدرتمند، شبیه به IDLE است که با استفاده از زبان پایتون نوشته شده و در آن از کتابخانه کیوت (QT) استفاده شده است. با وجود اینکه محیط Eric به شکل اختصاصی برای پایتون است، اما زبانهای برنامهنویسی دیگری مثل روبی و نمونههای مشابه در آن پشتیبانی میشوند. Eric از ویژگی Code Folding ، تکمیل کد و تطبیق براکت نیز پشتیبانی میکند. Eric برای برنامهنویسی در پروژههای پیچیدهتر عملکرد مطلوبی خوبی دارد و دارای قابلیت پشتیبانی از یونیت تستها و اشکالزدایی برنامههای چند ریسمانی و چندپردازهای است.
این محیط توسعه یکپارچه از سیستمهای کنترل نسخه SVN و Mercurial پشتیبانی میکند و از طریق افزونه، امکان پشتیبانی از گیت را نیز دارد. علاوه بر این، Eric امکان مشارکت گروهی و بلادرنگ روی کدهای برنامه را به افراد میدهد.
PyDev
- نوع: محیط توسعه یکپارچه
- دانلود: https://www.pydev.org/download.html
PyDev یک محیط توسعه یکپارچه برای پایتون است که در محیط Eclipse اجرا میشود. محیط برنامهنویسی PyDev از افزونههای مختلفی پشتیبانی میکند و میتوان به واسطه این افزونهها، ویژگیهای مختلفی را در PyDev به کار گرفت.
محیط برنامهنویسی PyDev خصوصیتهای کدنویسی مفید و گوناگونی مانند تکمیل خودکار کدها، اشکالزدایی، قالبهای کدنویسی و تجزیه و تحلیل کدها و یک مرورگر برای تست کدها دارد. علاوه بر این، محیط PyDev امکان به کارگیری قابلیتهایی مثل استفاده از چارچوب Django و پشتیبانی از توسعه جایتون (Jython) و IronPython را دارد.
PyCharm
- نوع: محیط توسعه یکپارچه
- دانلود: https://www.jetbrains.com/pycharm/download
Pycharm یکی از محیطهای توسعه یکپارچه کارآمد است که ویژه برنامهنویسی پایتون است و دارای دو نسخه رایگان متنباز Community و حرفهای است. محیط برنامهنویسی Pycharm به راحتی روی سیستمعاملهای مختلف نصب میشود و از پایتون به خوبی پشتیبانی میکند.
در محیط Pycharm، امکان اشکالزدایی و اجرای کدها به شکل مستقیم وجود دارد و امکان استفاده از کنترل منبع و قالب پروژه آماده نیز در محیط این IDE پشتیبانی میشود. محیط Pycharm به گونهای طراحی شده است که امکان شناسایی بخشهای مهم کدهای یک فایل در آن وجود دارد.
محیط برنامهنویسی Pycharm به برنامهنویسان اجازه میدهد تا تمرکز خود را به موضوع اصلی پروژه معطوف کنند و وقت خود را برای انجام کارهای تکراری هدر ندهند. در حالی که افراد مشغول برنامهنویسی در محیط Pycharm هستند، میتوانند با کمک تستهای PEP8 کیفیت کدها را بررسی کنند.
Thonny
- نوع: محیط توسعه یکپارچه
- دانلود: https://thonny.org/
یکی دیگر از محیطهای برنامهنویسی کارآمدی است که طیف گستردهای از قابلیتهای کاربردی را ارایه میکند. این محیط توسعه یکپارچه در دانشگاه Tartu و به زبان پایتون نوشته شده و مجهز به یک دیباگر قدرتمند است که آنرا گزینه مناسبی برای مباحث آموزشی تبدیل کرده است.
در حقیقت، این ابزار به گونهای طراحی شده که کاربران میتوانند بدون نگرانی در مورد پیچیدگیهای غیر ضروری به یادگیری موضوعات اصلی برنامهنویسی بپردازند. دیباگر Thonny این قابلیت را دارد که وضعیت متغیرها را در حین اجرا نمایش دهد و به این دلیل، میتوان خطاهایی را شناسایی کرد که پیدا کردن آنها در کدهای برنامه دشوار است. کار با این محیط برنامهنویسی میتواند مانند تمرین کدنویسی در آموزش مفید واقع میشود. به شکل خودکار و در حین تایپ کردن، تورفتگیهای کدها را اضافه میکند. این ویژگی Thonnyبرای افرادی که به تازگی با زبان برنامهنویسی پایتون آشنا شدهاند، به میزان زیادی کاربردی و مناسب است، زیرا در زبان برنامهنویسی پایتون، استفاده از تورفتگی یا همان دندانهگذاری، برای تعریف توابع، حلقهها، کلاسها، گزارهها و موارد این چنینی اهمیت زیادی دارد و در صورت دندانهگذاری اشتباه، اجرای برنامه با خطا رو به رو میشود.
Codenvy
- نوع: محیط توسعه یکپارچه
- دانلود: https://developers.redhat.com/products/codeready-workspaces/overview
Codenvy یک محیط توسعه مبتنی بر ابزار متن باز Eclipse Che است که توسط Red Hat پشتیبانی میشود. این ابزار برای تیمهایی که حداکثر ۳ نفر هستند به شکل رایگان و برای تیمهای بزرگتر با توجه به تعداد کاربران با هزینههای پرداختی مختلفی ارائه میشود. این ابزار ویژگیهای یک محیط توسعه یکپارچه را با ویژگیهای مدیریت پیکربندی در یک محیط مبتنی بر مرورگر ترکیب میکند. از ویژگیهای شاخص این محیط باید به تکمیل خودکار، تست خطا و دیباگر، محیط زمان اجرا، داکر، دسترسی به SSH و دسترسی به روت ترمینال اشاره کرد. این ابزار قادر به پشتیبانی از پایتون، جاوا، جاوا اسکریپت، PHP، روبی، اچتیامال و سیاساس است.
KDevelop
- نوع: محیط توسعه یکپارچه
- دانلود: https://www.kdevelop.org/download
KDevelop یک محیط توسعه متن باز و رایگان است که قابلیت اجرا روی سیستمعاملهای مختلف را دارد و قادر به پشتیبانی از سی، سیپلاسپلاس، پایتون، جاوا اسکریپت و PHP است. علاوه بر این از سیستمهای کنترل نسخه گیت، GNU Bazaar و Subversion نیز پشتیبانی میکند. ویژگیهای استانداردی مثل نوار وضعیت سریع و برجستهسازی هوشمند در KDevelop در دسترس هستند و رابط کاربری آن میتواند سفارشیسازی شود.
Atom
- نوع: ویرایشگر کد
- دانلود https://atom.io/https://atom.io/
اتم، یک ویرایشگر کد حرفهای است که امکان شخصیسازی آن وجود دارد و توسط Megalith GitHub پشتیبانی میشود. تقریبا هر آنچه برای برنامهنویسی پایتون نیاز است در Atom وجود دارد. حتی اگر قابلیتی در محیط برنامهنویسی Atom وجود نداشته باشد، این احتما وجود دارد که توسعهدهندهای افزونهای برای آن طراحی کرده باشد. اتم، دارای امکانات مدیریت بسته کامل است و توسعهدهندگان مخلتفی روی بستههای آن کار میکنند. علاوه بر این، امکان استفاده از گیتهاب به شکل پیشفرض داخل Atom در نظر گرفته است. با استفاده از ویرایشگر متن Atom میتوان به شکل بلادرنگ با افراد دیگر در پروژههای برنامهنویسی همکاری و مشارکت داشت که این کار به کمک بسته Teletype انجام میشود. در حالی که Atom ویژگیهای زیادی دارد، اما با ارایه یک رابط کاربری ساده موفق به جذب توسعهدهندگانی زیادی شده است. همین مسئله باعث شده تا اتم حتا برای افراد مبتدی نیز به عنوان یک ویرایشگر کاربرپسند شناخته شود. در Atom، قسمت Project View برای برنامهنویسی پروژههای بزرگ مفید است و در صورت لزوم، میتوان محل مولفههای رابط کاربری را به دلخواه تغییر داد.
Visual Studio Code
- نوع: ویرایشگر کد
- دانلود: https://code.visualstudio.com/download
اگر از علاقهمندان به محصولات مایکروسافت هستید، باید بگوییم که ویژوال استودیو کد از زبان برنامهنویسی پایتون پشتیبانی میکند. این محیط توسعه یکپارچه توسط مایکروسافت توسعه داده شده و به شدت مورد توجه برنامهنویسان است. با نصب افزونه پایتون در این محیط، توسعهدهندگان قادر به کدنویسی پایتون هستند. ویژوال استودیو کد، دیباگر خاص خود را دارد، از ابزار لینت (Lint) پشتیبانی میکند و با تمام ابزارهای کنترل نسخه قابل ترکیب است. محیط ترمینال توکار و افزونههای قدرتمند رایگان زیادی نیز برای این محیط توسعه طراحی شدهاند.
VS Code قابلیتهای خوبی برای شخصیسازی در اختیار توسعهدهندگان قرار میدهد که با استفاده از آن میتوان به فایل Settings.json دسترسی پیدا کرد. ویژوال استودیو کد شبیه به ابزار اتم است و با استفاده از چارچوب الکترون (Electron ) توسعه داده شده است.
یکی از مزایای شاخص این محیط توسعه یکپارچه چندسکویی بودن و کم حجم بودن آن است. برعکس اتم، محیط برنامهنویسی ویژوال استودیو کد از قبلیتهای Intellisense پشتیبانی میکند. در VS Code برای برنامهنویسی با پایتون، علاوه بر قابلیت تکمیل خودکار کدها، یک پنجره Pop-Up جهت نمایش اسناد مربوط به کلاسها و متدها نیز وجود دارد.
AWS Cloud 9
- نوع: محیط توسعه یکپارچه
- دانلود: https://aws.amazon.com/cloud9/
AWS Cloud9 یک محیط برنامهنویسی ابرمحور است که توسط شرکت آمازون ارایه شده و از زبانهای برنامهنویسی مختلفی مثل پایتون، پیاچپی و جاوااسکریپت پشتیبانی میکند. AWS Cloud9 وبمحور است و با استفاده از مرورگر میتوان به آن دسترسی داشت.
این ابزار برای افرادی مناسب است که از یک سرویس AWS Cloud و سایر ابزارهای مربوط به توسعه آن، استفاده میکنند. از ویژگیهای کاربردی این محیط باید به پشتیبانی کامل از کدنویسی، اشکالزدایی و اجرای پروژهها، ترمینال داخلی، دیباگر یکپارچه و زنجیره ابزاری تحویل مداوم (Continuous Delivery Toolchain) اشاره کرد.
علاوه بر این، توسعهدهندگان در Cloud9 میتوانند به شکل جمعی و با کمک چت، نظرات و ویرایش مشارکتی، با دیگر اعضای گروه همکاری و تعامل کنند. محیط AWS Cloud9 به گونهای طراحی شده است که افراد با استفاده از کلیدهای میانبر میتوانند کارهایی همچون ایجاد فایل، حذف، تغییر و ایجاد پوشه را انجاد دهند. استفاده از کلیدهای میانبر منجر به افزایش سرعت در برنامهنویسی میشود.
منابع:
https://realpython.com/python-ides-code-editors-guide/#what-are-ides-and-code-editors
https://www.techradar.com/best/best-ide-for-python
https://www.g2.com/categories/python-integrated-development-environments-ide
https://www.jetbrains.com/idea/features/