כיצד להפעיל שרת אינטרנט פשוט ב-Python 3 ב-Mac

תוכן עניינים:

Anonim

אם אתה משתמש Python אולי אתה כבר מכיר את הטריק השימושי המאפשר לך ליצור באופן מיידי שרת אינטרנט פשוט באמצעות מחרוזת פקודה קלה המוזנת בשורת הפקודה של Mac OS. אבל אם אתה משתמש ב-Mac Python שהתקנת או עדכנת לפייתון 3, אז תמצא שמחרוזת הפקודות המסורתית מגירסאות Python הקודמות לא עובדת כדי להפעיל את שרת האינטרנט ב-Python 3 החדש.x+ releases.

אל תדאג, הטריק הפשוט של שרת האינטרנט Python עדיין עובד ב-Python 3 עבור Mac (וגם עבור לינוקס ו-Windows כמובן, אבל ברור שאנחנו מכסים את MacOS), זה שתחביר הפקודה הוא רק קצת שונה. נראה לך איך להפעיל שרת אינטרנט פשוט עם Python 3 באמצעות המקבילה החדשה של Python 3.0+ של הפקודה python -m SimpleHTTPServer.

כיצד להפעיל שרת HTTP אינטרנט ב-Python 3.0+

אנחנו מניחים שכבר התקנתם או עדכנתם ל-Python 3.0+ ב-Mac, גרסה זו של הפקודה דורשת Python 3.0 ומעלה.

משורת הפקודה, הזן את התחביר הבא בדיוק:

python -m http.server

OR (בהתאם לאופן התקנת Python 3.x ושמו):

python3 -m http.server

לחץ על החזרה ופייתון 3 יתחיל באופן מיידי שרת HTTP פשוט מהספרייה שבה בוצעה הפקודה.

שרת http. בפייתון 3 יפעל בטרמינל, אם אין קובץ אינטרנט בספריה, יוצג אינדקס הספרייה עצמו.

תוכל לבדוק זאת מיד על ידי פתיחת כתובת האתר הבאה בכל דפדפן אינטרנט במחשב:

http://0.0.0.0:8000

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

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

python3 -m http.server

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

מהי המקבילה של Python3 של python -m CGIHTTPServer?

טריק נפוץ נוסף הוא להשתמש בשרת CGI (Common Gateway Interface) ב-Python עבור סקריפטים של CGI ב-python או perl. לפיכך, אם אתה צריך להפעיל את המקבילה python3 של הפקודה "python -m CGIHTTPServer" עבור CGI, זה יהיה כדלקמן:

python3 -m http.server --cgi

לחלופין, אם Python 3 מותקן ונקרא בשם python, הפקודה תהיה פשוט:

python -m http.server --cgi

בכל מקרה תזדקק לדגל –cgi כדי להפעיל את שרת ה-CGI HTTP ב-Python 3.

אני מקבל שגיאה האומרת "/usr/bin/python: No module named http" מה עכשיו?

אם אתה רואה שגיאת "/usr/bin/python: אין מודול בשם http" בעת ניסיון לבצע את מחרוזת הפקודה python -m http.server, סביר להניח שאינך מריץ את Python 3, או אתה משתמש בפקודה שגויה עבור python3 (כלומר python לעומת python3, תלוי איך הגרסה נקראת וכיצד היא הותקנה או עודכנה ב-Mac). ייתכן גם ש-Python כלל לא מותקן במחשב, אם כי זה פחות סביר עבור מחשבי מקינטוש מכיוון ש-Python2 מותקן כברירת מחדל ב-Mac OS, אם כי המשתמשים חייבים להתקין באופן ידני את ה-Python 3.x המעודכן ב-Mac, מה ששומר בו זמנית על המקור. גרסת שחרור Python 2.x. בדרך כלל זה מושג עם Homebrew.

שנה את התחביר כפי שהוזכר לעיל, או אם אתה משתמש בגרסה קודמת של Python נסה את הפקודה "python -m SimpleHTTPServer" מ-Python 2 ומעלה.

כמובן ששרתי האינטרנט הפשוטים של python אינם מיועדים לסביבות ייצור והם באמת פשוט הטובים ביותר עבור פנקס גירוד מהיר או סביבת בדיקה. אם אתה רוצה להפעיל שרת אינטרנט הפונה לציבור או פשוט חזק יותר באופן כללי, תרצה ללכת עם משהו כמו Apache או Nginx, אם כי הגדרת תצורה של אלה בנפרד ב-Mac דורשת הגדרה מסוימת. אפשרות פשוטה יותר עבור סביבת שרת אינטרנט מלאה ב-Mac היא להשתמש ב-MAMP, מה שהופך את ההגדרה וההפעלה של סביבת Apache מלאה, MySQL, PHP ב-Mac לפשוטה ככל האפשר.

האם אתה מכיר עוד עצות או טריקים מעניינים לפייתון? האם אתה מכיר מחרוזות פקודות אחרות של python להפעלת שרתי http או אחרת? שתפו אותנו בתגובות למטה!

כיצד להפעיל שרת אינטרנט פשוט ב-Python 3 ב-Mac