Jak uruchomić prosty serwer WWW w Pythonie 3 na Macu

Spisu treści:

Anonim

Jeśli jesteś użytkownikiem Pythona, być może znasz już poręczną sztuczkę, która pozwala błyskawicznie utworzyć prosty serwer WWW za pomocą prostego ciągu poleceń wpisanego w wierszu poleceń systemu Mac OS. Ale jeśli jesteś użytkownikiem Mac Pythona, który zainstalował lub zaktualizował Pythona 3, przekonasz się, że tradycyjny ciąg poleceń z poprzednich wersji Pythona nie działa, aby zainicjować serwer WWW w nowym Pythonie 3.x+ wydań.

Nie martw się, prosta sztuczka z serwerem WWW w Pythonie nadal działa w Pythonie 3 dla komputerów Mac (oraz oczywiście dla systemów Linux i Windows, ale oczywiście zajmujemy się systemem MacOS), polega na tym, że składnia poleceń to tylko trochę inaczej. Pokażemy Ci jak uruchomić prosty serwer WWW w Pythonie 3 za pomocą nowego odpowiednika polecenia python -m SimpleHTTPServer w Pythonie 3.0+.

Jak uruchomić internetowy serwer HTTP w Pythonie 3.0+

Zakładamy, że masz już zainstalowany lub zaktualizowany Python 3.0+ na komputerze Mac, ta odmiana polecenia wymaga Pythona 3.0 lub nowszego.

W wierszu poleceń wprowadź dokładnie następującą składnię:

python -m http.server

LUB (w zależności od instalacji i nazwy Pythona 3.x):

python3 -m http.server

Wciśnij Return, a Python 3 natychmiast uruchomi prosty serwer HTTP z katalogu, w którym wykonano polecenie.

Http.server w Pythonie 3 będzie działał w terminalu, jeśli w katalogu nie ma pliku WWW, zostanie wyświetlony sam indeks katalogu.

Możesz to natychmiast przetestować, otwierając następujący adres URL w dowolnej przeglądarce internetowej na komputerze:

http://0.0.0.0:8000

Wszystkie działania serwera WWW, takie jak uzyskiwanie dostępu do poszczególnych plików, folderów, katalogów itp., będą wyświetlane na bieżąco w aktywnym oknie terminala Pythona, podobnie jak śledzenie dzienników sieciowych na serwerze Apache lub Nginx .

Ważna uwaga: jeśli jednocześnie masz zainstalowane python i python3, może być konieczna nieznaczna zmiana składni, aby odnosiła się do python3 i python2 lub innej wersji python. Będzie to zależeć od tego, w jaki sposób dokonałeś aktualizacji do Pythona 3 na komputerze Mac, ale typowym przykładem byłoby użycie zamiast tego polecenia „python3”:

python3 -m http.server

Tak jak poprzednio, naciśnij klawisz Return, a Active Directory zostanie przekształcony w serwer sieciowy.

Jaki jest odpowiednik Pythona3 polecenia -m CGIHTTPServer?

Inną popularną sztuczką jest użycie serwera CGI (Common Gateway Interface) w Pythonie dla skryptów CGI w Pythonie lub Perlu. Tak więc, jeśli potrzebujesz uruchomić python3 odpowiednik polecenia „python -m CGIHTTPServer” dla CGI, wyglądałoby to następująco:

python3 -m http.server --cgi

Alternatywnie, jeśli Python 3 jest zainstalowany i nazwany jako python, polecenie brzmiałoby po prostu:

python -m http.server --cgi

Tak czy inaczej będziesz potrzebować flagi –cgi, aby uruchomić serwer HTTP CGI w Pythonie 3.

Otrzymuję komunikat o błędzie „/usr/bin/python: Brak modułu o nazwie http” i co teraz?

Jeśli widzisz błąd „/usr/bin/python: Brak modułu o nazwie http” podczas próby wykonania polecenia python -m http.server, najprawdopodobniej nie używasz Pythona 3 lub używasz niewłaściwego polecenia dla python3 (tj. python vs python3, w zależności od nazwy wersji i sposobu jej instalacji lub aktualizacji na komputerze Mac). Możliwe jest również, że Python w ogóle nie jest zainstalowany na komputerze, chociaż jest to mniej prawdopodobne w przypadku komputerów Mac, ponieważ Python2 jest domyślnie instalowany w systemie Mac OS, chociaż użytkownicy muszą ręcznie zainstalować zaktualizowany Python 3.x na komputerze Mac, który jednocześnie zachowuje oryginał Wersja wydania Pythona 2.x. Zwykle osiąga się to za pomocą Homebrew.

Zmień składnię zgodnie z powyższym opisem lub, jeśli używasz wcześniejszej wersji Pythona, wypróbuj polecenie „python -m SimpleHTTPServer” w Pythonie 2 i wcześniejszych.

Oczywiście proste serwery sieciowe w Pythonie nie są przeznaczone do środowisk produkcyjnych i naprawdę najlepiej nadają się do szybkiego notatnika lub środowiska testowego. Jeśli chcesz uruchomić serwer WWW, który jest dostępny publicznie lub ogólnie bardziej niezawodny, chciałbyś skorzystać z czegoś takiego jak Apache lub Nginx, chociaż konfigurowanie ich indywidualnie na komputerze Mac wymaga pewnej konfiguracji. Prostszą opcją pełnego środowiska serwera WWW na komputerze Mac jest użycie MAMP, dzięki któremu konfiguracja i uruchomienie pełnego środowiska Apache, MySQL, PHP na komputerze Mac jest tak proste, jak to tylko możliwe.

Czy znasz jakieś inne interesujące wskazówki lub sztuczki dotyczące Pythona? Czy znasz jakieś inne pomocne ciągi poleceń Pythona do uruchamiania serwerów http lub w inny sposób? Podziel się z nami w komentarzach poniżej!

Jak uruchomić prosty serwer WWW w Pythonie 3 na Macu