ipdbインスタンスにラップされた http リクエストを作成すると、単にインポートするmultiprocessing Processと、プログラムがエラーやメッセージなしで終了するように見えます。
次のスクリプトは非常に奇妙な動作をします。
from multiprocessing import Process
import requests
import ipdb
def spawn():
print("before")
r = requests.get("http://wtfismyip.com")
print("after")
Process(target=spawn).start()
これをターミナルで実行すると、出力は単純beforeになり、プロンプトに戻ります。すべてをコメントアウトすればimport ipdb問題なく、リクエストは正常に行われます。
- インスタンスを変数に格納し、後で
Process呼び出しても違いはありませんでした。join()start() - これは、Python 2.7.10 と 3.5.0 の両方で発生します。
- 従来の では起こりません
pdb。 - ここやここにいる他の人々もこの問題を抱えています。前者では、インポート
ipdbが原因かどうかはわかりません。後者では、パッケージ/python バージョンのアップグレードの問題のように見えましたが、現在の最新 (4.0.0 および 0.8.1) でiPythonあることを確認しました。ipdb
なぜこれが起こっているのか誰でも説明できますか?