1. ホーム
  2. Python

IDLEのサブプロセスが接続されない場合の解決策 - fishcフォーラムより

2022-02-07 13:36:49

以下は、元記事へのリンクです: http://bbs.fishc.com/forum.php?mod=viewthread&tid=67949

<スパン 今日、Pythonスクリプトをテストしていたら、突然スクリプトが起動できなくなり、ポップアップで "IDLE's subprocess didn't make connection が表示されました。IDLEがサブプロセスを開始できないか、個人のファイアウォールソフトが接続をブロックしているのでしょう。
<スパン 多くの人が同じ問題に遭遇したときに、解決策が浮かび上がったのです。

<スパン C:\python34⇄Lib⇄PyShell.py ファイルを修正し、use_subprocess を検索します。
def main():以下関数
use_subprocess = True
に変更する。
use_subprocess = False
変更して、動作は継続していますが、少し変な感じがします。
PythonのIDLEの特徴として、マルチスレッドの仕組みを使ってプログラムを実行することが挙げられますが、この方法によれば、マルチスレッドの仕組みがオフになっていることが一目瞭然です 乙女座に憑かれた私は、そうそう迷うこともなく、問題の根本はまだ見つかっていないのだ!
<スパン そこで諦めずに検索を続け、ついにstackoverflowで同じ事例を見つけました(リンク:http://stackoverflow.com/questions/15888186/cant-run-python-via-idle-from-explorer-2013-idles- stackoverflowで同じ事例を見つけました(リンク:subprocess-didnt-make-c)、その回答にはエラーの理由が書いてありました!!(リンク:subprocess-didnt-make-c)。それは、私のモジュールの名前がPythonのシステムモジュールと同じだからです!(私はそれを直接re.pyと名付けました)。何が人々を泣かせるかというと、私の新しいreモジュールは実行すると必ず"__pycache__"という名前の同じディレクトリに現れるのです、Python3はユーザーが作ったモジュールをバイトコードにコンパイルする機構をとっくに削除していて、余計なフォルダがありますが、私はそれを見つけられませんでした。気づかなかったという、笑っちゃうようなミスですが、名前を変えたら正常に動作するようになりました