"python -m SimpleHTTPServer"와 동등한 Python 3은 무엇입니까


답변:


1772

에서 워드 프로세서 :

SimpleHTTPServer모듈은 http.serverPython 3.0에서 병합되었습니다 . 2to3 도구는 소스를 3.0으로 변환 할 때 가져 오기를 자동으로 조정합니다.

따라서 명령은 python -m http.server또는 설치에 따라 다음과 같습니다.

python3 -m http.server

88
Python 3.3에서 대체는 python -m CGIHTTPServer입니다 python3 -m http.server --cgi.
bseibold

17
물론, 명령 행의 끝에 고정하십시오. python3 -m http.server --help모든 인수 및 옵션을 읽으십시오 .
Petr Viktorin 2018 년

29
python -m http.server나를 위해 일했다. 나는3
nu everest

14
@nueverest 그것은 파이썬 설치의 이름이 어떻게 '이름'인지에 달려 있습니다. 일반적으로 Python2은로 사용할 수 있습니다 python와 같은 Python3 python3하지만 일부는 단순히 Python3를 설치하는 것을 선호합니다 python.
마스트

3
AFAIK는 Windows에서 python기본적으로 설치됩니다 . 그러나 문제는 python3:)
Petr Viktorin

274

이에 상응하는 내용은 다음과 같습니다.

python3 -m http.server

46
그리고 python3 -m http.server 8080포트에 바인딩해야하는 경우. 섹션의 끝 부분에서 더 많은 내용을 읽으십시오 : docs.python.org/3/library/…
AdamKalisz

4
기본적으로 포트 8000에 바인딩됩니다 python3 -m http.server --help. 자세한 내용 은 참조하십시오.
stephenwade

153

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

87

Petr의 답변 외에도 모든 인터페이스 대신 특정 인터페이스에 바인딩하려면 사용 -b하거나 --bind플래그를 지정할 수 있습니다 .

python -m http.server 8000 --bind 127.0.0.1

위의 스 니펫은 트릭을 수행해야합니다. 포트 번호는 8000입니다. 80은 HTTP 통신의 표준 포트로 사용됩니다.


python -m http.server 8081 --bind 127.0.0.1 다른 프로그램에서 8000을 사용중인 경우.
Haris Np

당신은 당신이 Python3를 실행하는 가상 환경에 있지 않은 경우, 그렇지 않으면 당신은 / usr / 빈 / 파이썬 오류 얻을 것이다, python3 -m http.server 8081 --bind 127.0.0.1을 사용하십시오 : 없음 모듈 이름에 http
하리스을 Np

7

내 프로젝트 중 하나에서 Python 2 및 3에 대해 테스트를 실행합니다.이를 위해 로컬 서버를 독립적으로 시작하는 작은 스크립트를 작성했습니다.

$ 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 3을 사용 하는 대신 사용할 수 있기 때문에 conda 환경을 통해 Python 버전을 제어 합니다.pythonpython3

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.