התקנות למשתתפי תרבות פתוחה: פייתון

שלום לכולם!

לקראת תחילת התוכנית מצורפות מספר המלצות להתקנות והכנות נדרשות

התקנת פייתון 3 (חובה)

גרסת הפייתון שנשתמש בה במהלך התכנית היא 3.

התקנת פייתון 3.6 על חלונות

אם אתם קוראים את זה, יש לנו חדשות רעות וחדשות טובות.
החדשות הרעות הן שיש לכם חלונות.
החדשות הטובות הן שזה ממש קל להתקין את פייתון!
יש להוריד ולהתקין את תכנית ההתקנה הרשמית של Python 3.6.x מכאן:

חשוב!! בעת ההתקנה יש לבחור באפשרות “Add Python to PATH”.

לאחר ההתקנה יש לוודא את הצלחתה באמצעות פתיחת קונסול (start>cmd) והרצת הפקודה

python --version

שאמורה לכתוב חזרה

Python 3.6.x

התקנת פייתון 3 על לינוקס

החדשות הטובות הן שההפצות המודרניות של לינוקס מגיעות עם פייתון2 וגם פייתון3 מותקנות זו לצד זו.
הריצו את הפקודות:

python3 --version

מומלץ מאוד לשדרג ל-3.6. הוראות לאובונטו:

אם לא הצלחתם עם לינוקס - נשמח לעזור.

התקנת פייתון 3 על מק

מק מגיע עם פייתון 2 מותקן כחלק ממערכת ההפעלה.
בכדי להוסיף את פייתון 3 ניתן להתקין את ההפצה הרשמית של פייתון 3.5 מכאן:

או להיות מגניבים יותר ולהשתמש ב-homebrew:

המצוין באמצעות הפקודה:
brew install python3

נשמח לשמוע בתגובות מה עבד לכם טוב יותר.

התקנת ipython (חובה)

ההרחבה ipython הינה כלי מעולה לפיתוח משורת הפקודה, ובגרסתה המתקדמת ipython notebook (שנקראת כיום jupyter) הינה כלי פיתוח להרצת python ושפות אחרות מהדפדפן.

התקנת ipython על חלונות

משורת הפקודה (cmd) כתבו:

pip3 install -U ipython notebook

התקנת ipython על לינוקס

ניתן בשלב ראשון להתקין את חבילת ה-ipython של ההפצה שלכם,
לדוגמא באובונטו:

sudo apt-get install ipython-notebook

ב-arch:

pacman -S ipython jupyter

אם ההפצה שלכם לא כוללת גרסא של ipython, תוכלו להשתמש ב-pip להתקנה, אך סביר שתזדקקו להריץ את הפקודה כ-root (לדוגמא באמצעות הוספת sudo לפני הפקודה):

pip3 install -U ipython notebook

(בהמשך נלמד איך להשתמש ב-virtual environments על מנת להתקין את החבילות העדכניות ביותר וללא גישת root).

התקנת ipython על מק

משורת הפקודה (cmd) כתבו:

pip3 install -U ipython notebook

בדיקת ההתקנה של ipython

משורת הפקודה כתבו:

ipython

אמור להפתח קונסול פייתון עם תמיכה בצבעים.
ניתן לכתוב פקודות פייתון.
יציאה עם ctrl+d פעמיים.

הפקודה:

ipython notebook

צריכה לפתוח את הדפדפן שלכם ולאפשר לכם לכתוב מחברות עם קוד פייתון.

התקנת pycharm (מומלץ בחום)

למשתמשים חדשים ב-python, ולותיקים גם, אנחנו ממליצים בחום על העורך וסביבת הפיתוח pycharm.
קיימת גרסא חינמית מצוינת - pycharm community , וגרסא בתשלום (שלדעתי שווה כל שקל למפתחים מקצוענים).

ההתקנה פשוטה:

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

תשובות לשאלות נפוצות

התקנה של פייתון2 ופייתון3 זה לצד זה

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

פייתון2 וגם פייתון3 בחלונות

בחלונות נסו קודם כל:

python --version
python3 --version

אבל מה שתקבלו הוא לא כל כך חשוב. מותקן לכם כלי שנקרא py שמאפשר הרצה נוחה של גרסאות פייתון במקביל. נסו:

py --version
py -2 --version
py -3 --version

מה שיפה הוא שהתוכנית הזו גם מזהה את השורה הראשונה בקובץ (hashbang), בדומה ל-linux ומריצה קובץ עם הפייתון המתאים. למידע נוסף (לדוגמא, איך לקבוע גרסת ברירת מחדל ל-py) ראו:

בכל מקרה כדאי ללמוד יותר על המקום שבוא נמצא הפייתון שלכם כך:

where python
where python3
where py

פייתון2 וגם פייתון3 בלינוקס / מק:

נסו את הפקודות:

python --version
python3 --version
python2 --version

הכל אמור להיות בסדר :slight_smile:
שימו לב שהפצות הלינוקס השונות כוללת חבילות מקבילות לשתי הגרסאות, לדוגמא python-dev לעומת python3-dev באובונטו - חבילה עם ספריות c שעוזרות לבנות הרחבות שונות לפייתון.

בעיות? שאלות?

כתבו כאן.

אתה ממליץ על דרך שהיא די bad practice בלינוקס - להחליף גרסת פייטון של מערכת ההפעלה.
דרך המלך היא שימוש ב pyenv ולהתקין מגוון גרסאות פייטון במקביל זו לזו.
ככה אם יש פרוייקט שדורש 3.4, אחר של 2.6 ואחד של 3.6.3. הם חיים זה לצד זה.
רק שמקימים את הvirutalenv צריך להשתמש ב Interpreter הנכון

הי!

pyenv או conda או אפילו pipenv (באמצעות pyenv) זה אכן מצוין.
מצד שני הדרך שהצעתי היא בוודאי שלא bad practice מכיוון שהיא לא מחליפה את הפייתון, אלא מתקינה אותו לצד הקודמות.
ובניגוד להתקנות pyenv, יתקבלו עידכונים אוטומטיים לפייתון דרך מנהל החבילות.
בקיצור, יש יתרונות וחסרונות :slight_smile: , ולמתחילים זה בוודאי יותר ממספיק.

אודי

ודרך אגב, אם תגלול עוד למטה יש הסבר מלא גם על שימוש ב-pyenv למעוניינים.

לא מזמן גיליתי את pipenv ואני כועס מאוד על כל מי שלא גילה לי על זה קודם! (ייתכן שיש חפיפה בין האנשים שאני כועס עליהם והאנשים בשרשור)

האמת שההתנסות שלי בינתיים עם pipenv חצויה. מאידך => ברור שזה העתיד (וגם מענה מוצלח למרבית האתגרים שNpm הציבו בתחום) אבל בינתיים זה עדיין לא מצליח להיות מתאים לוורקפלואו שלי. אולי זה רק עניין של להתרגל

אני גם התחלתי ממש לא מזמן עם pipenv.
מהתרשמותי מדובר במוצר ממש נחמד אבל מאוד beta שעדיין סובל מבעיות איזוטריות (לדוגמא: הודעות שגיאה על חבילות שלא יורדות, לוקח הרבה זמן לפקודות פשוטות לרוץ).
נראה גם שברגע שאתה משדרג אותו, כל דבר יכול לקרות, וכל הזמן צריך לשדרג אותו…
בקיצור, לא למערכת production חשובה ואוטומטית.

אודי