6.1 קונספט הרצאה
ספריות כקונספט¶
- ספריות הן אוסף של קוד שמישהו תכנת שאנחנו יכולים להשתמש בקוד שלנו, חשבו על זה שמישהו פיתח מערכת עם המון מחלקות ופונקציות שאנחנו יכולים פשוט להשתמש במקום לפתח בעצמנו.
- בפייתון יש 2 סוגים של ספריות
- מודלים מובנים: מודולים שבאים עם התקנה של פייתון
- מודולים חיצוניים: מודולים שאנשים פתחו שצריך להתקין
מודולים מובנים¶
- פייתון מגיע עם המון מודולים מובנים שאפשר פשוט להשתמש, בוא נראה כמה דוגמאות:
מודול math¶
- מודול שמאפשר לנו לעשות פעולות מתמטיות מסובכות.
מודול random¶
- מודול שמאפשר לנו לצור מספרים ראנדומלים.
- הפונקציה
random.randintמביאה לנו מספר ראנדומלי - הפונקציה
random.choiceבוחרת איבר ראנדומלי ברשימה
מודולים חיצוניים¶
- אנחנו יכולים להתקין על המחשב מודולים שאנשים מכל העולם כתבו באמצעות מנהל החבילות של פייתון
pip- מה הוא מנהל חבילות? מנהל חבילות היא תוכנה שמאפשרת לנו להתקין בכמה קליקים פשוטים חבילה מהאינטרנט, במקרה שלנו החבילות הן קוד פייתון.
- מה זה
pip? פיפ הוא מנהל החבילות של פייתון, המנהל חבילות מתחבר לאתר מיוחד שנקרא "artifactory" ושולף ממנו את כל החבילות של פייתון, וכך מתקין לנו אותם על המחשב.
התקנת pip¶
-
בPyCharm, התוכנה
pipמותקנת אוטומטית. ואפשר לגשת אלייה דרך הטרמינל של PyCharm באמצעות כתיבת הפקודהpip:

-
אם אין לכם בPyCharm מותקן, לפני שאתם רצים להתקין pip בדקו בטרמינל האם יש לכם כבר pip מותקן

- לפעמים pip יכול להיות מותקן, פשוט לא נמצא בPath (מי שזוכר מההרצאות הראשונות של הקורס), תוכלו לנסות להוסיף אותו, ואפשר גם להריץ את pip באמצעות הפקודה הבאה:
python -m pip -V - עדיין לא עובד לכם? כנראה אין לכם pip מותקן, ואפשר לעשות זאת מאוד בקלות: הריצו את הפקודה הבאה:
python -m ensurepip --upgrade - עכשיו נסו להריץ את:
python -m pip -V
שימוש בpip¶
- הריצו
pip -Vכדי לקבל את הגרסת pip - הריצו
pip -hכדי לראות איך להשתמש בpip - הריצו
pip install blackכדי להתקין את המודול black - הריצו
pip uninstall blackכדי להסיר את המודול שהתקנו קודם black - הריצו
pip install black==2.0.0אוpip install black<2.0.0כדי להתקין גרסאות ספציפיות של המודול black - הריצו
pip -U install blackכדי לעדכן את המדול black לגרסא הכי עדכנית שלו. - המון פעמים נראה פרויקטים של פייתון שמכילים רשימה של כל החבילות שצריכות להיות מותקנות כדי להריץ את הפרויקט, למשל כמו הקובץ הבא:
requierments.txt
- אפשר להשתמש בפקודה
pip install -r .\requierments.txtכדי לגרום לpip אוטומטית להתקין את כל הספריות.
בעיית חבילות¶
- המון פעמים בפייתון כשיהיה לנו המון פרויקטים, ושכל פרויקט יצטרך חבילות שונות משלו, יהיה לנו מצב שבו חבילות שונות מפרויקטים שונים קורסות בגלל הקיום של חבילות אחרות. זה בעיה מאוד נפוצה, ויש לנו כמה דרכים לפתור אותה
פתרון מועדף: סביבה וירטואלית - venv¶
- סביבה וירטואלית או
venvהיא יוצרת לכל פרויקט פייתון שאנחנו מגדירים סביבה נקייה לחלוטין מספריות, שבה כל פרויקט יוכל להתקין רק את הספריות שהוא צריך כדי שהפרויקט ירוץ. PyCharm בצורה אוטמטית יוצר לנו venv לכל פרויקט. - מה אם אין לנו PyCharm? נתקין venv באמצעות
pip install venv, ונריץ את הפקודהpython -m venv .\venvבתוך התקייה של הפרויקט שלנו - כדי להתחבר לvenv שיצאנו, נריץ את הפקודה
venv\bin\activate\. - עכשיו באותו טרמינל, נוכל להתקין ספריות לפרויקט שלנו, וכל פעם שנריץ את הפקודה python היא תקבל רק את ספריות שהתקנו בתוך הסביבה הוירטואלית.
- כדי לצאת מהvenv נריץ
venv\bin\deactivate\., תמיד נוכל לחזור לvenv באמצעות הרצת הפקודהvenv\bin\activate\.בתוך התקייה של הפרויקט.
עוד פתרונות לבעית התקנה של חבילה:¶
- הרצת הפקודה
pip install your-package --no-cache-dir, פקודה זו תתקין את החבילה ואת כל החבילות הנדרשות מחדש מהתעלות מוחלטת מכל החבילות שכבר מותקנות על המחשב. - הרצת הפקודה
pip install your-package --prefer-binary, לפעמים במקום להסתבך בהתקנת חבילה שלא רוצה להיות מותקנת, בגלל כל מיני חבילות שהיא תלוייה בה, אנחנו יכולים להשתמש בפקודה למעלה שמתקינה מהartifactory את החבילה לא כקוד אלה כקוד מקומפל, ולפעמים זה פשוט יכול לפתור לנו את הבעיה.