3

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

なぜこれが起こっているのか誰でも説明できますか?

4

0 に答える 0