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

Запустите простой веб-сервер в Python 3 с помощью команды http server

Если вы пользователь 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.server в 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

Как и раньше, нажмите return, и активный каталог превратится в веб-сервер.

Простой веб-сервер python3 с HTTP

Что такое 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: Нет модуля с именем http». Что теперь?

Если вы видите ошибку «/ usr / bin / python: Нет модуля с именем http» при попытке выполнить строку команды python -m http.server, то, скорее всего, вы не используете Python 3 или используете неправильную команду для python3 (например, python vs 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-серверов или иным образом? Поделитесь с нами в комментариях ниже!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.