답변:
에서 워드 프로세서 :
이
SimpleHTTPServer
모듈은http.server
Python 3.0에서 병합되었습니다 . 2to3 도구는 소스를 3.0으로 변환 할 때 가져 오기를 자동으로 조정합니다.
따라서 명령은 python -m http.server
또는 설치에 따라 다음과 같습니다.
python3 -m http.server
python3 -m http.server --help
모든 인수 및 옵션을 읽으십시오 .
python -m http.server
나를 위해 일했다. 나는3
python
와 같은 Python3 python3
하지만 일부는 단순히 Python3를 설치하는 것을 선호합니다 python
.
python
기본적으로 설치됩니다 . 그러나 문제는 python3
:)
이에 상응하는 내용은 다음과 같습니다.
python3 -m http.server
python3 -m http.server 8080
포트에 바인딩해야하는 경우. 섹션의 끝 부분에서 더 많은 내용을 읽으십시오 : docs.python.org/3/library/…
python3 -m http.server --help
. 자세한 내용 은 참조하십시오.
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
Petr의 답변 외에도 모든 인터페이스 대신 특정 인터페이스에 바인딩하려면 사용 -b
하거나 --bind
플래그를 지정할 수 있습니다 .
python -m http.server 8000 --bind 127.0.0.1
위의 스 니펫은 트릭을 수행해야합니다. 포트 번호는 8000입니다. 80은 HTTP 통신의 표준 포트로 사용됩니다.
내 프로젝트 중 하나에서 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 버전을 제어 합니다.python
python3
python -m CGIHTTPServer
입니다python3 -m http.server --cgi
.