אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פייתון » פייתון: שימוש ב-pyenv כדי להכין סביבת עבודה מסודרת

פייתון: שימוש ב-pyenv כדי להכין סביבת עבודה מסודרת

רן בר-זיק נובמבר 27, 2022 7:07 am 9 תגובות

תוכנה פשוטה וקלה לניהול גרסאות של פייתון שרצה על כל מערכת.

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

אז מה זה pyenv? בעוד שאין שום בעיה להתקין פייתון ישירות על מערכת ההפעלה, כשמתחילים לפתח באמת ויוצאים קצת מעולם ה-Hello World מגלים את העולם המופלא של גרסאות הפייתון שיכולות להשתנות עם שינויים משמעותיים של פיצ׳רים. וכמובן שדרוגים של גרסאות. יש פרוייקטים שצריכים לרוץ בפייתון גרסה 3.8 ויש כאלו שהכי טוב להם הוא פייתון גרסה 3.9. איך מג׳נגלים בין הגרסאות השונות? עם pyenv שדומה קונספטואלית מאוד ל-nvm של Node.js.

אז ראשית אסביר איך משתמשים ואחרי כן איך זה עובד. אז איך מתקינים? בפרויקט של pyenv יש הסברים להתקנה על כל מערכת הפעלה. במק זה קל עם homebrew באמצעות הפקודות:

brew update
brew install pyenv

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

אני מצרף את ההסברים על Oh My Zsh, שזו הסביבה שלי (ואני ממליץ מאוד להשתמש בה).

השלב הבא הוא להוסיף את השורות האלו לקובץ ~/.zshrc. או באמצעות פתיחה שלו והוספה.

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"  
eval "$(pyenv init -)"

או באמצעות הרצה של השורות האלו:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

חשוב לוודא שהן באמת הוספו ל-zshrc שלכם. אחרי כן נפעיל מחדש את Oh My Zsh באמצעות הפקודה omz reload.

שימוש

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

pyenv list

ולהתקין באמצעות

pyenv install 3.11.0

או כל מספר גרסה אחר לפי בחירתכם. אני התקנתי את 3.11.0 ואת 3.9.0. עכשיו באמצעות הקלדה של הפקודה

pyenv versions

אני יכול לראות איזה גרסאות יש לי. הפעילה תהיה מסומנת בכוכבית. בהתחלה זה יהיה ה-system עבורכם. אבל כדאי מאוד לבחור בגרסה אחרת. למשל ב-3.11.0. איך אני בוחר? באמצעות:

pyenv global 3.11.0

אחרי שאני בוחר בזו, אני יכול ללחוץ שוב על pyenv install ולראות שהפעם הכוכבית זזה לגרסה שלי. אם אני אריץ בטרמינל את הפקודה python –version אני אראה שהגרסה שיש לי ב-shell היא 3.11.0! אם אני אשנה את הגרסה אני אראה שהגרסה תשתנה אם אקליד שוב python –version.

➜  local pyenv versions  
  system
* 3.9.0 (set by /Users/barzik/.pyenv/version)
  3.11.0
➜  local python --version
Python 3.9.0
➜  local pyenv global 3.11.0
➜  local pyenv versions     
  system
  3.9.0
* 3.11.0 (set by /Users/barzik/.pyenv/version)
➜  local python --version   
Python 3.11.0
דוגמה לאיך pyenv אמור לעבוד

בדוגמה המאוד פשוטה הזו הראיתי איך משנים את גרסת הפייתון הגלובלית – כלומר זו שהמחשב המקומי משתמש. אבל אני יכול לשנות את הגרסה רק ל-shell באותו אופן עם הפקודה pyenv shell – שפשוט תשנה את גרסת הפייתון לטאב של הטרמינל. או עם הפקודה pyenv local לתיקיה ספציפית. אפילו שבתיקיה ספציפית או פרויקט ספציפי כדאי להשתמש ב-pipenv. שמאפשרת לנו לבנות סביבה וירטואלית לכל פרויקט.

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

Python פייתון

9 תגובות

  1. יניב הגב נובמבר 27, 2022 בשעה 9:37 am

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

  2. עמיחי הגב נובמבר 27, 2022 בשעה 9:47 am

    תודה על המאמר.
    טייפו קטן:
    pyenv –version
    צריך להיות
    pyenv –version

  3. עמיחי הגב נובמבר 27, 2022 בשעה 9:48 am

    נו, התכוונתי לשני מקפים, אוטוקורקט מעצבן…

  4. גל הגב נובמבר 27, 2022 בשעה 10:07 am

    היי רן

    על איזו סביבת עבודה אתה ממליץ שמדובר על פייתון?
    vscode, משהו אחר?

  5. אור הגב נובמבר 27, 2022 בשעה 7:53 pm

    מאוד שימושי. אבל פוגע בביצועים.
    עדיף להריץ על מכונה וירטואלית או קונטיינר נפרד

  6. מישהו הגב נובמבר 27, 2022 בשעה 10:07 pm

    איך עוקפים חסימת נתיב?

  7. נתנאל ברנגח הגב דצמבר 1, 2022 בשעה 7:49 am

    יש עניין – בבקשה, הוסף עוד תכנים כאלה.

  8. אריה הגב ינואר 10, 2023 בשעה 12:22 am

    שלום אני מתעניין בלימוד פייתון יש את הספר של ברק גונן ושם הוא אומר להשתמש בגירסה 3.8
    לי במחשב יש גירסה 3.7.3
    האם יש הבדלים משמעותיים בין הגרסאות ?
    או שאני יכול להשתמש בגירסה 3.7.3
    תודה

  9. אסף הגב ינואר 26, 2023 בשעה 11:03 pm

    היי רן!
    תודה רבה על הזמן שאתה מקדיש לכתיבת המדריכים, אני מאוד מעריך את זה.
    יש טעות קטנה, הפקודה הנכונה היא: `pyenv install –list`, לא `pyenv list`.
    בנוסף, אני ממליץ לך לכתוב גם על poetry לפקג'ינג וניהול הדפנדנסיז של הפרויקט שלך.
    אסף.

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד