סקירה: 6 מזהי פייתון עוברים לשטיח

מבין כל המדדים שבהם ניתן להשתמש כדי לאמוד את הפופולריות וההצלחה של שפה, גורם בטוח אחד הוא מספר סביבות הפיתוח הזמינות עבורה. עליית הפופולריות של פייתון בשנים האחרונות הביאה עמה גל חזק של תמיכה ב- IDE, עם כלים המיועדים הן למתכנת הכללי והן למי שמשתמש בפייתון למשימות כמו עבודה מדעית ותכנות אנליטיות.

ששת IDEs אלה עם תמיכה בפייתון מכסים את מכלול מקרי השימוש. חלקם מזהי IDE רב-לשוניים בעלי תמיכה בפייתון באמצעות תוסף או אריזה מחדש של מוצר אחר עם סיומות ספציפיות לפיתון. כל אחד מהם מרוויח קהל מעט שונה של מפתח פיתון, אם כי רבים שואפים להיות שימושיים כפתרונות אוניברסליים.

מספר לא מבוטל של ה- IDE כיום הוא מסגרות עם תוספים עבור שפות ומשימות ספציפיות, ולא אפליקציות שנכתבו מבפנים החוצה כדי לטפח פיתוח בשפה נתונה. לשם כך, בחירתך ב- IDE עשויה להיקבע אם יש לך ניסיון עם IDE אחר מאותה משפחה או לא.

סרטון קשור: מדוע פיתון מקל על התכנות

למי שאין לו ניסיון כזה, PyCharm הוא אחד המקומות הטובים ביותר להתחיל בו. זה ידידותי למצטרפים חדשים, אך לא מוגדר בסט התכונות שלו. למעשה, יש בו כמה מהתכונות השימושיות ביותר בקרב כל ה- IDE שמוגדרים כאן. רבות מהתכונות הללו זמינות רק בגרסת התשלום של המוצר, אך בגרסה החינמית יש הרבה שיעזור למפתח חדש להתחיל.

LiClipse ו- Python Tools for Visual Studio (PTVS) הם אפשרויות טובות עבור מפתחים שכבר מכירים מקרוב את Eclipse ו- Microsoft Visual Studio, בהתאמה. שתיהן סביבות פיתוח מלאות - עד כמה שתמצאו - שמשלבות את פייתון בצורה די יפה. עם זאת, הם גם יישומים מורכבים ומורכבים שמגיעים עם הרבה תקורה קוגניטיבית. אם כבר שלטתם באחד מהם, תמצאו זאת בחירה מצוינת לעבודת פייתון.

גלגול הפיתון של קומודו IDE של ActiveState הוא טבעי עבור אלו שכבר השתמשו בקומודו IDE עבור שפה אחרת, ויש לו מאפיינים ייחודיים (כמו מעריך הביטוי הרגיל) שצריכים להרחיב את משיכתו. מגיע לקומודו מבט מקרוב מצד טירונים ומומחים כאחד.

ספיידר מתאים ביותר לעבודה עם IPython או עם כלי המחשוב המדעיים האחרים בהפצות כמו Anaconda, ולא כפלטפורמת פיתוח עבור Python באופן כללי. לבסוף, IDLE שמור בצורה הטובה ביותר לתסריטים מהירים ומלוכלכים, ואפילו בספירה זו, זה עשוי לקחת מושב אחורי לעורך קוד עצמאי עם תוסף תחביר של Python. עם זאת, IDLE תמיד שם כשאתה צריך את זה.

לְהִתְבַּטֵל

IDLE, סביבת הפיתוח הכלולה ברוב כל התקנת Python, יכולה להיחשב כ- Python IDE המוגדר כברירת מחדל. עם זאת, IDLE אינה מהווה תחליף ל- IDE מלא. זה יותר כמו עורך קבצים מהודר. ובכל זאת, IDLE נותרה אחת מאפשרויות ברירת המחדל של מפתחי Python להשיג את השפה, והיא השתפרה באופן הדרגתי עם כל מהדורה של Python, במיוחד עם Python 3.5. (ראה עמוד זה לדיון מעניין על המאמצים האחרונים לשיפור IDLE).

IDLE בנוי כולו עם רכיבים המועברים עם התקנת ברירת מחדל של Python. מלבד מתורגמן CPython עצמו, זה כולל את ערכת הכלים של ממשק Tkinter. ברכה אחת של בניית IDLE בצורה כזו: היא מפעילה פלטפורמות חוצות עם מערכת התנהגויות עקבית. כחיסרון, הממשק יכול להיות איטי להחריד. הדפסת כמויות גדולות של טקסט מסקריפט למסוף, למשל, היא איטית יותר מסדרי גודל מאשר אם התסריט מופעל ישירות משורת הפקודה.

ל- IDLE יש כמה נוחות מיידיות. היא מפעילה לולאה מובנית עם הדפסה לקריאה-הערכה (REPL), או קונסולה אינטראקטיבית, עבור Python. למעשה, מעטפת אינטראקטיבית זו היא הפריט הראשון המוצג בפני המשתמש בעת הפעלת IDLE, ולא עורך ריק. IDLE כולל גם כמה כלים שנמצאו ב- IDEs אחרים, כגון מתן הצעות למילות מפתח או משתנים כשאתה פוגע ב- Ctrl-Space, ואיתור באגים משולב. אך היישומים עבור מרבית התכונות הללו הם פרימיטיביים בהשוואה ל- IDE אחרים ונחבאים על ידי המבחר המוגבל של רכיבי ממשק המשתמש של Tkinter. ואוסף התוספות של צד שלישי הזמין עבור IDLE (פרויקט אחד כזה הוא IdleX) אינו כמעט עשיר כמו שתמצא עם IDE אחרים.

לסיכום, IDLE הוא הטוב ביותר לשני תרחישים. הראשון הוא כאשר אתה רוצה לפרוץ סקריפט פייתון מהיר, ואתה צריך סביבה שהוגדרה מראש כדי לעשות זאת. השנייה מיועדת למתחילים שרק מקבלים רגליים. אפילו מתחילים יצטרכו במהירות לסיים אפשרות חזקה יותר.

ספיידר

ספיידר הוא קיצור של "סביבת פיתוח פיתון מדעית". זה מיועד לשימוש כספסל עבודה למחשוב מדעי עם Python, וזה בא לידי ביטוי בערכת התכונות, באריזה ובהתנהגות הכוללת של IDE. לספיידר יש תכונות שימושיות לפיתוח פיתון כללי, אך אלא אם כן אתה עובד בעיקר עם חבילות מחשוב IPython ומדעי, סביר להניח שיהיה לך טוב יותר עם IDE אחר.

הסיבה הגדולה ביותר לא להשתמש בספיידר כסביבת פיתוח פייתון למטרות כלליות אינה ערכת התכונות, אלא תהליך ההתקנה. ספיידר לא מועבר כהפעלה עצמאית באופן של מוצר כמו Visual Studio או PyCharm. במקום זאת, הוא מותקן כחבילת פייתון. הדרך הקלה ביותר שלך לספיידר היא להתקין הפצת פייתון שמגיעה איתה טעונה מראש, כמו אנאקונדה של Continuum Analytics.

1. זמין כתוסף, אך תומך בבדיקת תחביר בלבד. 2. זמין כתוסף ליקוי חמה. 3. זמין בגרסה מסחרית. 4. ראה הוראות אינטגרציה. 5. משתמש במערכות בקרת גרסאות המותקנות במארח.
  לְהִתְבַּטֵל קומודו LiClipse PyCharm PTVS ספיידר
תמיכה בסיתון לא כן (1) לא כן (3) לא לא
בקרת גרסאות לא כן כן כן כן כן (5)
איתור באגים גרפי לא כן כן כן כן לא
תמיכה ב- IPython לא לא לא כן כן (4) כן
מאקרו לא כן כן (2) כן (2) כן לא
מתורגמנים מרובים לא כן כן כן כן כן
ארגון מחדש לא כן כן כן כן לא
שילוב בסיסי נתונים לא כן כן (2) כן (3) כן לא
HTML / CSS / JavaScript לא כן כן כן כן (3) לא

ספיידר כולל את IPython, המהווה תחליף לקונסולת ה- Python הקונבנציונאלית. כאשר אתה מקליד פקודות ב- IPython, ניתן לבחון את התוצאות באופן אינטראקטיבי. ניתן להתייחס לכל פקודה כאל "תא", או כקטע מקוד שיכול לשמור את הפלט שלו ולאסוף אותו.

ספיידר מוסיף לכך על ידי שילוב התנהגויות תאים בעורך הקוד שלו. אם אתה מכניס הערות מעוצבות במיוחד לכל סקריפט של פייתון, אתה יכול לחלק אותו לתאים ולבצע תאים אלה בממשק ה- IPython בכל סדר. בדרך זו, קל להשתמש בספיידר כדי ליצור תאים לאב טיפוס לצורך מיקומם במחברת IPython בהמשך.

לצורך איתור באגים, ספיידר משתמש בבאגים ה- Pdb המובנים של פייתון. ממשק שורת הפקודה עבור Pdb רחוק מאוד מהבאגים הגרפיים המתוחכמים יותר שנמצאו ב- PyCharm או ב- LiClipse, אם כי ניתן להתקין את הבאגים הגרפיים Winpdb כתוסף אופציונלי. למרבה הצער, אינך יכול להשתמש ב- Winpdb עם Python 3, מכיוון שיש לו תלות בחבילות שעדיין זמינות רק ב- Python 2 (באופן ספציפי, wxPython). לשם כך, רוב האנשים יתקעו עם Pdb.

ספיידר מוגבל גם בהשוואה ל- IDE אחרים בשילובו עם מערכות בקרת גרסאות כמו Git ו- Mercurial. אם אתה עובד במאגר פרויקטים מאותחל, קבצים בפרויקט זה יציגו לחיצה ימנית על פריטי תפריט ההקשר למאגר. עם זאת, אין מנגנוני בקרת גרסאות המובנים ישירות בספיידר; עליך להתקין את יישום בקרת הגרסאות המתאים כבר ברמת המערכת, עם הפעלותיו זמינות מנתיב המערכת. ספיידר אינו כולל כלים לניהול מאגרים גם בממשק המשתמש שלו. החסרונות האלה לא כל כך גרועים אם אתה כבר נוהג לנהל מאגרים בעצמך, אבל הם מסתכמים במכשולים נוספים אם אתה לא.

לספיידר יש תכונות שימושיות לפיתוח פיתון כללי. אחד שמיד תפס את עיניי הוא חלונית הסייר המשתנה בממשק של ספיידר. תוך כדי הקלדת פקודות ב- IPython, כל המשתנים שנוצרו נרשמים שם וניתן לחקור אותם באופן אינטראקטיבי. כלי שימושי נוסף הוא מחיקת מודול המשתמש. הפעל אותו ומתורגמן הפייתון יטען מחדש את כל המודולים מאפס כאשר הוא מבצע סקריפט פייתון. בדרך זו, ניתן להחיל את כל השינויים שבוצעו בקוד המודול על תוכנית פועלת ללא צורך להפעיל מחדש את כל היישום.

ActiveState Komodo IDE

סדרת מוצרי IDE של ActiveState כוללת גרסאות כמעט לכל שפה עיקרית. הגישה של החברה לכך דומה קצת לאופן שבו LiClipse עובד: קחו את המוצר הבסיסי (במקרה זה ה- Komodo IDE) והלבישו אותו עם תוספות לפיתוח פיתון.

קומודו הוא המתאים ביותר למי שכבר מכיר גלגולים של קומודו לשפות אחרות. אנשים עם ניסיון כזה מתחת לחגורה לא יתקשו לצלול למוצר הפייתון. אם אתה נכנס קר, יש כמה מוזרויות של ממשק המשתמש שכדאי לשים לב אליו. למשל, סרגל תפריט האפליקציות אינו חשוף כברירת מחדל; עליכם ללחוץ על תפריט ההמבורגר בפינה השמאלית העליונה או להקיש על מקש Alt כדי להציגו. זה נועד לשמור על הניקיון והפשטות, אך עשוי להיות מינימליסטי מדי לטעמים מסוימים.

מצד שני, חלק מבחירות הממשק מושכות באופן מיידי. אהבתי במיוחד את "המינימפה", תצוגה מקדימה מוגדלת של הקוד בעורך, שמאפשרת לזנק במבט חטוף לכל חלק בקובץ שאתה עורך. ל- LiClipse יש תכונה דומה, אך קל יותר לעבוד עם היישום של קומודו.

רוב מזהי ה- Python מאובזרים בכדומה לבדיקת תחביר ספציפית לפייתון או לבדוד קוד. ל- Komodo IDE יש את כל זה, אך הוא תוכנן גם כדי לתמוך בגרסאות 2 ו -3 של השפה בו זמנית. אם ברצונך להפעיל מעטפת Python, למשל, ויש לך מתורגמנים לשתי הגרסאות של Python זמינים בנתיב המערכת שלך, אתה יכול לבחור במפורש באחת מהגרסאות. לעתים קרובות הייתי צריך לבצע בדיקות מהירות של התנהגויות של הצהרה נתונה ב- Python 2 ו- Python 3 זו לצד זו, וזו דרך שימושית לעשות זאת.

קומודו מספקת לך אפשרות להחיל תצורות ריצה מרובות או ניפוי באגים עבור יישום, אך היא קצת פחות גמישה מתכונה דומה ב- LiClipse. כאשר אתה מפעיל אפליקציה, ניתנת לך אפשרות לבחור פרופילים להחיל על התוכנית. אתה יכול להשבית את בוחר הפרופיל ולקפוץ ישר להפעלת פרופיל, אך ההשבתה יכולה להיעשות רק על בסיס יישום, לא עבור פרויקט מסוים. אני מעדיף את התפריט הנפתח של סרגל הכלים של LiClipse שממנו תוכל לבחור פרופיל נתון או להפעיל את הפרופיל האחרון בו השתמשת בלחיצה אחת.

הכללה אחת באמת נפלאה היא ערכת כלים לביטוי רגיל. הקלד ביטוי רגיל בחלונית אחת של הכלי הזה, ספק נתוני דוגמה כדי להחיל אותם בחלונית שנייה והתוצאות מופיעות בשלישית. הכלי תומך גם במספר טעמים של regex, כולל פייתון, ואפילו מראה לך את תוצאות ההתאמה, הפיצול והחלפת הפעולות. אני נאבק כל הזמן עם יצירת רקסים לעבודה, ולכן הכלי הזה הוא מתנה משמים.

תכונה שימושית נוספת מחוץ לקופסה היא קטלוג של קטעי קוד נפוצים עבור Python. לחץ על "ללכת", למשל, והעורך מכניס את קוד ה- boilerplate בכדי להשתמש os.walkבפונקציה של פייתון כדי לחצות ספריות, אחת הפונקציות שלעולם לא אוכל לזכור את התחביר והשימוש בהן. גם שפות אחרות כלולות. לדוגמה, אם אתה צריך להחליק HTML עם נושא רגיל לתבנית של ג'נגו שאתה מבשל, קומודו כיסה אותך.

הפצת ברירת המחדל של פייתון מגיעה עם תמיכה ב- SQLite מהקופסה. Komodo IDE משלים זאת בכך שהוא מספק סייר מובנה למסדי נתונים של SQLite. זה בערך כמו גרסה מופשטת של יישומי שולחן העבודה "שולחן העבודה" המסופקים עבור MySQL או Microsoft SQL Server. הממשק מגושם ולא מושך, אך הוא מתאים לחלוטין לבדיקה מהירה ומלוכלכת או לעריכה נקודתית של מסד נתונים. זה לא נועד לשמש כ- IDE מלא באתר.

תוכלו למצוא תכונות שימושיות רבות אחרות בקומודו, גם אם הן אינן ממוקדות ספציפית לפייתון. מקליט המאקרו מאפשר לך להקליט ולהפעיל פעולות נפוצות, אם כי לא נראה שהוא מקליט סוגים מסוימים של פעולות כגון בחירת פרופיל האפליקציה לשימוש בעת הפעלת אפליקציה. תכונה נוספת מאפשרת שיתוף פעולה בזמן אמת בין משתמשי קומודו, אם כי הם יצטרכו להירשם לחשבונות ב- ActiveState כדי לגשת לשירות.

LiClipse 

לעתים קרובות מתחים ביקורת על ה- Eclipse IDE כאיטי ועמוס, אך תמיכת השפה הרחבה שלו וגלריית התוספות לפיתוח הופכות אותו לכלי רב עוצמה ובעל ערך. Python נתמך ב- Eclipse באמצעות התוסף PyDev. אם אתה משתמש ב- Eclipse בשום דבר אחר מלבד פיתוח של Python, הפתרון הטוב ביותר הוא לתפוס את LiClipse. (במהלך הסקירה הזו אני אשתמש ב- LiClipse כקצר עבור חבילת התכונות המסופקות על ידי LiClipse ו- PyDev יחד.)

LiClipse הוא אריזה מחדש של Eclipse עם PyDev, יחד עם שלל רכיבי Eclipse אחרים שנועדו לשפר את חוויית המשתמש. עם ההשקה LiClipse נראית ומתנהגת כמו המהדורה הרגילה של Eclipse, וחוסמת את המיתוג והסמלים של LiClipse, ולכן משתמשי Eclipse מנוסים לא צריכים להתקשות בתצורת שטח העבודה לטעמם. אם אתה לא מנוסה עם אקליפס, תצטרך קצת זמן כדי ללמוד איך סביבת העבודה של Eclipse פועלת (היבט זה של אקליפס זוכה לביקורת שגרתית). במובן זה, LiClipse הוא הטוב ביותר עבור אנשים שכבר מרגישים בנוח עם Eclipse, אולי מעבודה בה דרך שפה אחרת.

כרטיס ניקוד יכולת (30%) ביצועים (10%) קלות שימוש (20%) תיעוד (20%) תוספות (20%) ציון כולל (100%)
סרק 3.5.1 6 7 8 7 5 6.5
קומודו 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
ספיידר 3.0.0 7 7 7 7 6 6.8
Python Tools 2.2 עבור Visual Studio 2015 9 8 7 9 9 8.5