Як запустити простий веб-сервер на Python 3 на Mac

Зміст:

Anonim

Якщо ви користувач Python, можливо, ви вже знайомі зі зручним трюком, який дозволяє миттєво створити простий веб-сервер за допомогою простого командного рядка, введеного в командному рядку Mac OS. Але якщо ви користувач Mac Python, який встановив або оновив Python 3, ви побачите, що традиційний командний рядок із попередніх версій Python не працює для запуску веб-сервера в новому Python 3.випуски x+.

Не хвилюйтеся, простий трюк Python веб-сервера все ще працює в Python 3 для Mac (і, звісно, ​​також для Linux і 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

АБО (залежно від того, як установлено та названо Python 3.x):

python3 -m http.server

Натисніть return, і Python 3 миттєво запустить простий HTTP-сервер із каталогу, у якому була виконана команда.

http.сервер у Python 3 працюватиме в терміналі, якщо в каталозі немає веб-файлу, тоді буде показано сам індекс каталогу.

Ви можете перевірити це негайно, відкривши наступну URL-адресу в будь-якому веб-переглядачі на комп’ютері:

http://0.0.0.0:8000

Уся активність веб-сервера, як-от доступ до окремих файлів, папок, каталогів тощо, відображатиметься в активному вікні терміналу Python у реальному часі, подібно до запису веб-журналів на сервері Apache або Nginx .

Важлива примітка: якщо у вас одночасно інстальовано python і python3, вам може знадобитися трохи змінити синтаксис, щоб посилатися на python3 і python2 або іншу версію python. Це залежатиме від того, як ви оновили Python 3 на Mac, але поширеним прикладом буде використання команди «python3» замість цього:

python3 -m http.server

Як і раніше, натисніть клавішу повернення, і активний каталог буде перетворено на веб-сервер.

Який еквівалент 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 для запуску HTTP-сервера CGI у Python 3.

Я отримую повідомлення про помилку «/usr/bin/python: немає модуля з іменем http», що тепер?

Якщо ви бачите помилку «/usr/bin/python: Немає модуля з іменем http» під час спроби виконати рядок команди python -m http.server, швидше за все, ви використовуєте не Python 3 або ви використовуєте неправильну команду для python3 (тобто python проти python3, залежно від назви версії та способу її встановлення чи оновлення на Mac). Також можливо, що Python взагалі не встановлено на комп’ютері, хоча це менш імовірно для Mac, оскільки 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? Чи знаєте ви якісь інші корисні командні рядки python для запуску http-серверів чи іншого? Поділіться з нами в коментарях нижче!

Як запустити простий веб-сервер на Python 3 на Mac