Что такое эквивалент 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