Что такое эквивалент Python 3 "python -m SimpleHTTPServer"

Что такое эквивалент Python 3 python -m SimpleHTTPServer?

Ответ 1

Из документов:

Модуль SimpleHTTPServer был объединен с http.server в Python 3.0. Инструмент 2to3 автоматически адаптирует импорт при конвертации ваших источников в 3.0.

Итак, ваша команда - это python -m http.server, или, в зависимости от вашей установки, это может быть:

python3 -m http.server

Ответ 2

Эквивалент:

python3 -m http.server

Ответ 3

Использование утилиты 2to3.

$ cat try.py
import SimpleHTTPServer

$ 2to3 try.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored try.py
--- try.py  (original)
+++ try.py  (refactored)
@@ -1 +1 @@
-import SimpleHTTPServer
+import http.server
RefactoringTool: Files that need to be modified:
RefactoringTool: try.py

Ответ 4

В дополнение к ответу Петра, если вы хотите привязываться к определенному интерфейсу, а не ко всем интерфейсам, вы можете использовать флаг -b/- bind.

python -m http.server 8000 --bind 127.0.0.1

Вышеприведенный фрагмент должен сделать трюк. 8000 - номер порта. 80 используется в качестве стандартного порта для HTTP-связи.

Ответ 5

Если вы используете другой порт, используйте:

python -m http.server 8080

Ответ 6

В одном из моих проектов я запускаю тесты с Python 2 и 3. Для этого я написал небольшой script, который запускает локальный сервер самостоятельно:

$ python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')
Serving HTTP on 0.0.0.0 port 8000 ...

В качестве псевдонима:

$ alias serve="python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')"
$ serve
Serving HTTP on 0.0.0.0 port 8000 ...

Обратите внимание, что я управляю своей версией Python через среды conda, из-за этого я могу использовать python вместо python3 для используя Python 3.

Ответ 7

если вам нужно выбрать, какой каталог является корнем для веб-сайта, например. /dist и порт 9000: затем используйте:

для v3

pushd ./dist; python -m http.server 9000; popd

для 2. *

pushd ./dist; python -m SimpleHTTPServer 9000; popd

Ответ 8

import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

httpd = socketserver.TCPServer(("", PORT), Handler)

print("serving at port", PORT)
httpd.serve_forever()

Ответ 9

Команда python -m SimpleHTTPServer предназначена для Linux. Использовать команду python -m http.server 7777 для Windows