Python 3でpython -m SimpleHTTPServer
と同等なものは何ですか?
ドキュメントから :
SimpleHTTPServer
モジュールはPython 3.0でhttp.server
にマージされました。 2to3ツールは、ソースを3.0に変換するときに自動的にインポートを調整します。
だから、あなたのコマンドはpython3 -m http.server
です。
同等のものは以下のとおりです。
python3 -m http.server
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はポート番号です。 HTTP通信用の標準ポートとして80が使用されます。
私のプロジェクトの1つでは、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を使うのにpython3
の代わりにpython
を使うことができるので、私は conda環境 を通して私のPythonバージョンを制御することに注意してください。