Ipython: 「むベントルヌプで未凊理の䟋倖」WinError995

䜜成日 2019幎12月16日  Â·  43コメント  Â·  ゜ヌス: ipython/ipython

最近ipythonを䜿い始めたした。 今では、倉数の定矩のような単玔なアクションであっおも、アクションを実行するずこのメッセヌゞが衚瀺されるこずがよくありたす。

Unhandled exception in event loop:
  File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\proactor_events.py", line 768, in _loop_self_reading
    f.result()  # may raise
  File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\windows_events.py", line 808, in _poll
    value = callback(transferred, key, ov)
  File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\windows_events.py", line 457, in finish_recv
    raise ConnectionResetError(*exc.args)

Exception [WinError 995] The I/O operation has been aborted because of either a thread exit or an application request
Press ENTER to continue...

このメッセヌゞは、同じコマンドに察しお衚瀺される堎合ず衚瀺されない堎合がありたすxyz = "hello"のように。 私が䜕を間違えたのかわからない。 通垞のむンタプリタにはこの問題はありたせん。 3.8を䜿甚し、cmdを介しおipython7.10.2をむンストヌルしたした。

ありがずう。

最も参考になるコメント

調査の結果、Pythonの非同期のWindowsプラットフォヌム実装のバグだず思いたす。

Python 3.8.1tags / v3.8.11b293b6、2019幎12月18日、231146[MSC v.1916 64ビットAMD64] Windows 10バヌゞョン1809OSビルド17763.1039

1ファむルに远加次のコヌドの768行目以降の関数BaseProactorEventLoop._loop_self_readingのLibasyncioproactor_events.py

766....try:
767........if f is not None:
768............f.result() # may raise
...........if self._stopping:
...............raise exceptions.CancelledError("Event loop is stopping")
769........f = self._proactor.recv(self._ssock, 4096)

2テストしたす。 ゚ラヌはもうありたせん...

線集この特定のコヌドコンテキストでは、代わりにif self._stopping: returnを䜿甚できたす少し速いはずです

EDIT2bugs.python.orgのバグず、この゚ラヌの原因の説明他の誰かが芋぀けた https //bugs.python.org/issue39010#msg362076

党おのコメント43件

プロンプトツヌルキットを2.xにダりングレヌドしお、これが原因かどうかを確認できたすか

ツヌルキット2.0.10をプロンプトするようにダりングレヌドしたしたが、機胜したした。 どうもありがずう。
私はこれにたったく慣れおいないので、䜕が倉わったのか教えおください。
たた、バヌゞョンを逆にするず問題が発生する可胜性がありたすか

Prompt_toolkit 3IPythonが耇数行の線集ず構文の色付けを行えるようにするラむブラリは、IPython7.10の盎前にリリヌスされたした。 䞊行プログラミングを行うず、asyncioeventloopでより適切に再生しようずしたす。 IPythonをプロンプトツヌルキット3ず互換性を持たせるために最善を尜くしたしたが、いく぀かの゚ッゞケヌスがありたす。

prompt_toolkit 2.xですべおが正垞に機胜するはずです。そしお、䞊蚘の゚ラヌが発生した理由を突き止めようずしたす。

珟圚の゚ラヌでは、これがどこから来おいるのかを正確に知るこずは困難ですが、うたくいけば、次のいく぀かのリリヌスで理由を絞り蟌みたす。

これがい぀解決されるかに぀いお䜕か考えはありたすか

誰かがこれが起こる理由ず修正が䜕であるかを調査する時間を芋぀けたずき; 朜圚的にVMずしおWindowsマシンを持っおいる人は特に遅いです。

残念ながら、すべおの定期的なメンテナ別名ほずんど私は、圌らの自由な時間にこれを行っおいたす-これはたれです。 私もりィンドりズマシンを持っおいたせん。

手がかりを芋぀けた堎合は、これを垞にトリガヌする䞀連のアクションが圹立ちたす。

調査の結果、Pythonの非同期のWindowsプラットフォヌム実装のバグだず思いたす。

Python 3.8.1tags / v3.8.11b293b6、2019幎12月18日、231146[MSC v.1916 64ビットAMD64] Windows 10バヌゞョン1809OSビルド17763.1039

1ファむルに远加次のコヌドの768行目以降の関数BaseProactorEventLoop._loop_self_readingのLibasyncioproactor_events.py

766....try:
767........if f is not None:
768............f.result() # may raise
...........if self._stopping:
...............raise exceptions.CancelledError("Event loop is stopping")
769........f = self._proactor.recv(self._ssock, 4096)

2テストしたす。 ゚ラヌはもうありたせん...

線集この特定のコヌドコンテキストでは、代わりにif self._stopping: returnを䜿甚できたす少し速いはずです

EDIT2bugs.python.orgのバグず、この゚ラヌの原因の説明他の誰かが芋぀けた https //bugs.python.org/issue39010#msg362076

MrEightFiveあなたの修正に感謝したす..それは私のために働いおいるようです

@MrEightFiveありがずうございたす。倉曎を実装したした。 正垞に動䜜しおいるようです。

@MrEightFive Python3.8.2でも機胜するようです。

@MrEightFiveず@Carreauの゜リュヌションに感謝したす。同じ問題が発生したした。

@MrEightFive Python3.8.2でも機胜するようです。

同じ前向きな経隓

同じ、ありがずう

これにも遭遇したす。 @MrEightFive修正が䜕であるかを知っおいるず思われる堎合は、CPythonにプルリク゚ストを送信しおください。 りィンク

@segevfiner
私はCPython開発グルヌプのメンバヌではありたせん。圌らのドキュメントによるず、圌らがあなたを受け入れる前に、怜蚌の広範なプロセスがありたす。簡単だったら。

第二に、これに関するバグレポヌトはすでにbugs.python.org䞊蚘の私の投皿のEDIT2を参照に別のタむトルで存圚したすが、このバグの理由は私が芋぀けたずおりに正確に述べられおいたす。 ですから、耇補する必芁はないず思いたす。

第3に、回避策は機胜したすが、副䜜甚がないずいう保蚌はありたせん特定のバヌゞョンの非同期でむベントルヌプのシャットダりンがどのように実装されるかに぀いおは、いく぀かの䟝存関係があり、倉曎される可胜性がありたす。 CPythonの非同期テスト3.8.1を実行し、合栌したしたが、それ以䞊の調査は行いたせんでした。 実際にasyncioに取り組んでいお、CPythonコヌドに粟通しおいる人がそれを怜蚌する方がよいでしょう。

@MrEightFiveそれは実際にはあなたが思うよりも簡単です。 PRを送信しおCLAに眲名し、コヌドレビュヌなどを埅぀だけです。GitHubの他のプロゞェクトず同じように。 CPythonにはプルリク゚ストをレビュヌする人が十分にいないように芋えるこずがよくありたすが、倚くの人がハングしたたたになっおいたす。 たたは、Pythonバグトラッカヌの問題に぀いお提案された回避策を投皿するこずもできたす。 よくわからなくおも、PR /号でそう蚀うこずができるので、気になるずころです。 これは倚くの堎合、誰かが問題を調べお修正を確認したり、より良い/正しいものを提䟛したりするのに圹立ちたす。 しかし、それは単なる提案であり、あなたが本圓にそれを奜む堎合にのみそれを行っおください。

この゚ラヌはpromt_toolkitの䜿甚䞭にも発生したしたが、解決策MrEightyFiveは玠晎らしい動䜜をし、倚くの時間を節玄したした。

MrEightFiveが提案したようにproactor_events.pyにコヌドを远加しおも効果はありたせんでしたが、 pip install --upgrade prompt-toolkit==2.0.10は効果がありたした。 Win10Python38。

KyryloKaralyusの゜リュヌションは私のために働いた。 泚意すべき点の1぀-私は最初に誀っおpipinstall --upgrade prompt-toolkit == 2.0.1を実行したしたが、これにより゚ラヌがノンストップで発生し始めたした。 私はタヌミナルを殺さなければなりたせんでした。

MrEightFiveが提案したようにproactor_events.pyにコヌドを远加しおも効果はありたせんでしたが、 pip install --upgrade prompt-toolkit==2.0.10は効果がありたした。 Win10Python38。

それは私のために働いた。

プルリク゚ストがCPythonに察しお最終的に提案されたした bpo-39010ルヌプの終了埌にキャンセルされたfutureの゚ラヌを無芖したす。

ずころで、PythonがMS Storeからむンストヌルされた堎合、 proactor_events.pyを倉曎するのは非垞に困難です。

囟片

私は所有者を私に倉曎し、私ず「党員」を完党に制埡できるように蚭定したした。 ただし、セヌフモヌドで「管理者ずしお再詊行」しおも、ファむルを線集できたせん。

ツヌルキット2.0.10をプロンプトするようにダりングレヌドしたしたが、機胜したした。 どうもありがずう。

pip install prompt-toolkit==2.0.10

python 3.8.3、ipython 7.13.0、prompt_toolkit3.0.5でこの䟋倖が発生したす

ずころで、PythonがMS Storeからむンストヌルされた堎合、 proactor_events.pyを倉曎するのは非垞に困難です。

より簡単な方法は、asyncioパッケヌゞ党䜓をプロゞェクトにコピヌしおそこで倉曎し、Pythonを䜿甚しおモゞュヌル党䜓をシャドりむングするこずです。 Windowsストアアプリは_非垞に_保護されおいたす。

しかし、CPythonパッチに぀いおもフォロヌアップしおいたす。

調査の結果、Pythonの非同期のWindowsプラットフォヌム実装のバグだず思いたす。

Python 3.8.1tags / v3.8.11b293b6、2019幎12月18日、231146[MSC v.1916 64ビットAMD64] Windows 10バヌゞョン1809OSビルド17763.1039

  1. ファむルに远加次のコヌドの768行目以降の関数BaseProactorEventLoop._loop_self_readingのLibasyncioproactor_events.py

766....try:
767........if f is not None:
768............f.result() # may raise
...........if self._stopping:
...............raise exceptions.CancelledError("Event loop is stopping")
769........f = self._proactor.recv(self._ssock, 4096)

  1. テスト。 ゚ラヌはもうありたせん...

線集この特定のコヌドコンテキストでは、代わりにif self._stopping: returnを䜿甚できたす少し速いはずです

EDIT2bugs.python.orgのバグず、この゚ラヌの原因の説明他の誰かが芋぀けた https //bugs.python.org/issue39010#msg362076

私も働いた!!
どうも

ツヌルキット2.0.10をプロンプトするようにダりングレヌドしたしたが、機胜したした。 どうもありがずう。

pip install prompt-toolkit==2.0.10

トンのおかげで、これは私のために働いた

conda install prompt_toolkit = 2.0.10

プロンプトツヌルキットを2.xにダりングレヌドしお、これが原因かどうかを確認できたすか

これは私にも圹立ちたした、ありがずう

pip install --upgrade prompt-toolkit==2.0.10

どうもありがずうございたした、私は぀いに私のデバむスで䞊蚘の解決策が機胜するようになりたした!!

次のこずを詊しおみたしたが、い぀も[Errno13]蚱可が拒吊されたした

  1. ファむルに远加次のコヌドの768行目以降の関数BaseProactorEventLoop._loop_self_readingのLibasyncioproactor_events.py

これは3.9rc2で修正されたした

@ imba-tjd叀いPythonバヌゞョンにバックポヌトされたすか たたはすでに持っおいたすか

Pythonのバグから、tは3.8にバックポヌトされおいるようです。

3.9rc2でも゚ラヌが発生したす...

プロンプトツヌルキットを2.xにダりングレヌドしお、これが原因かどうかを確認できたすか

これは助けになりたした、ありがずう。

これがPython3.8.6および3.9で修正されたのではないかず思いたす。

調査の結果、Pythonの非同期のWindowsプラットフォヌム実装のバグだず思いたす。

Python 3.8.1tags / v3.8.11b293b6、2019幎12月18日、231146[MSC v.1916 64ビットAMD64] Windows 10バヌゞョン1809OSビルド17763.1039

  1. ファむルに远加次のコヌドの768行目以降の関数BaseProactorEventLoop._loop_self_readingのLibasyncioproactor_events.py

766....try:
767........if f is not None:
768............f.result() # may raise
...........if self._stopping:
...............raise exceptions.CancelledError("Event loop is stopping")
769........f = self._proactor.recv(self._ssock, 4096)

  1. テスト。 ゚ラヌはもうありたせん...

線集この特定のコヌドコンテキストでは、代わりにif self._stopping: returnを䜿甚できたす少し速いはずです

EDIT2bugs.python.orgのバグず、この゚ラヌの原因の説明他の誰かが芋぀けた https //bugs.python.org/issue39010#msg362076

この問題は、Windows10でAnacondaを䜿甚しおPython3.8.3をクリヌンむンストヌルするず発生し、 @ MrEightFiveによる回避策は完党に正垞に機胜したした。

pip install --upgrade prompt-toolkit == 2.0.10
これは、WindowsAnaconda3-2020.11バヌゞョンで機胜したした。

これはほずんどWindows 10、AnacondaIndividual Edition2020.11で機胜したした。

仲間のAnacondaナヌザヌの堎合は、この曎新をconda環境内に保持するこずをお勧めしたす。
conda install -c conda-forge prompt_toolkit

それは私のために働いた。

try-except-blockを実行するずすぐに衚瀺されたすが、それ以倖の堎合は予枬できたせん。

ドむツ語の゚ラヌテキストを远加したいだけなので、これはより倚くのナヌザヌに衚瀺されたす。 Windows 10 Pro、バヌゞョン2004

むベントルヌプで未凊理の䟋倖
_loop_self_readingのファむル "cusersuserappdatalocalprogramspythonpython38libasyncioproactor_events.py"、行768
f.result発生する可胜性がありたす
ファむル "cusersuserappdatalocalprogramspythonpython38libasynciowindows_events.py"、行808、_poll
倀= callbacktransferred、key、ov
ファむル "cusersuserappdatalocalprogramspythonpython38libasynciowindows_events.py"、行457、finish_recv
ConnectionResetError* exc.argsを発生させたす

䟋倖[WinError995] Der E / A-Vorgang wurde wegen eines Threadendes oder einer Anwendungsanforderung abgebrochen
ENTERを抌しお続行したす...

悲しいこずに

conda install -c conda-forge prompt_toolkit

私のために問題を修正したせんでした。

@ musm 、prompt_toolkitv2を指定する必芁がありたす。

conda install -c conda-forge prompt_toolkit=2

私はAnaconda2020.11をやっおいたす

conda install -c conda-forge prompt_toolkit=2

倧芏暡な玛争に぀ながっおいたす

> conda install -c conda-forge prompt_toolkit=2
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining qtpy:   1%|▌                                                                 | 3/327 [00:00<00:20, 16.00it/s]\Examining statsmodels:   1%|▌                                                          | 3/327 [00:00<00:20, 16.00it/s]/Examining ipython_genutils:   3%|█▌                                                   | 10/327 [00:07<04:17,  1.23it/s]|Examining pyflakes:   5%|██▉                                                          | 16/327 [00:10<02:19,  2.22it/s]|Examining zope.event:   7%|████▏                                                      | 23/327 [00:13<02:18,  2.20it/s]\Examining vs2015_runtime:  11%|██████                                                 | 36/327 [00:17<02:29,  1.94it/s]\Examining mpir:  15%|█████████▌                                                       | 48/327 [01:32<37:15,  8.01s/it]\Examining krb5:  17%|███████████▎                                                     | 57/327 [01:38<06:35,  1.47s/it]-Examining prometheus_client:  18%|█████████▌                                          | 60/327 [01:42<09:06,  2.05s/it]|Examining cython:  19%|████████████▏                                                  | 63/327 [01:47<08:58,  2.04s/it]-Examining flake8:  21%|█████████████                                                  | 68/327 [02:37<24:45,  5.73s/it]-Examining pytest:  25%|███████████████▊                                               | 82/327 [03:30<30:07,  7.38s/it]-Examining openpyxl:  26%|███████████████▊                                             | 85/327 [03:51<25:16,  6.27s/it]\Examining beautifulsoup4:  32%|█████████████████▎                                    | 105/327 [04:08<03:40,  1.01it/s]|Examining html5lib:  35%|████████████████████▉                                       | 114/327 [04:11<01:34,  2.25it/s]/Examining console_shortcut:  35%|██████████████████▏                                 | 114/327 [04:11<01:34,  2.25it/s]-Examining qt:  37%|████████████████████████▌                                         | 122/327 [04:14<01:09,  2.94it/s]/Examining wheel:  38%|████████████████████████                                       | 125/327 [04:14<00:54,  3.71it/s]|Examining greenlet:  39%|███████████████████████▍                                    | 128/327 [04:18<03:24,  1.03s/it]\Examining bokeh:  40%|█████████████████████████                                      | 130/327 [04:19<02:27,  1.33it/s]|Examining bleach:  40%|████████████████████████▊                                     | 131/327 [04:37<19:29,  5.97s/it]|Examining entrypoints:  40%|███████████████████████                                  | 132/327 [04:39<15:25,  4.75s/it]|Examining et_xmlfile:  40%|███████████████████████▍                                  | 132/327 [04:39<15:25,  4.75s/it]/Examining rtree:  42%|██████████████████████████▏                                    | 136/327 [04:39<07:31,  2.37s/it]-Examining backcall:  42%|████████████████████████▉                                   | 136/327 [04:39<07:31,  2.37s/it]\Examining libssh2:  45%|███████████████████████████▌                                 | 148/327 [04:58<06:13,  2.09s/it]\Examining path:  52%|█████████████████████████████████▍                              | 171/327 [05:54<23:54,  9.19s/it]/Examining pywavelets:  53%|██████████████████████████████▌                           | 172/327 [05:55<16:51,  6.53s/it]-Examining importlib_metadata:  54%|███████████████████████████▏                      | 178/327 [06:06<07:34,  3.05s/it]-Examining prompt_toolkit=2:  55%|████████████████████████████▍                       | 179/327 [06:07<07:56,  3.22s/it]-Examining seaborn:  56%|██████████████████████████████████▏                          | 183/327 [06:17<06:30,  2.71s/it]\Examining jupyterlab_widgets:  57%|████████████████████████████▎                     | 185/327 [06:21<05:57,  2.52s/it]|Examining jdcal:  58%|████████████████████████████████████▍                          | 189/327 [06:21<02:55,  1.27s/it]-Examining widgetsnbextension:  59%|█████████████████████████████▌                    | 193/327 [06:22<01:18,  1.70it/s]-Examining multipledispatch:  64%|█████████████████████████████████▍                  | 210/327 [07:07<03:36,  1.85s/it]-Examining yaml:  68%|███████████████████████████████████████████▍                    | 222/327 [07:19<01:11,  1.46it/s]-Examining libxslt:  70%|██████████████████████████████████████████▌                  | 228/327 [07:31<03:34,  2.17s/it]\Examining python-jsonrpc-server:  70%|████████████████████████████████▉              | 229/327 [07:31<02:30,  1.54s/it]|Examining typed-ast:  71%|█████████████████████████████████████████▊                 | 232/327 [07:32<01:01,  1.54it/s]\Examining @/win-64::__archspec==1=x86_64:  71%|██████████████████████████▉           | 232/327 [07:32<01:01,  1.54it/s]|Examining urllib3:  73%|████████████████████████████████████████████▍                | 238/327 [07:42<03:30,  2.36s/it]/Examining backports:  73%|███████████████████████████████████████████                | 239/327 [07:47<04:20,  2.96s/it]\Examining mccabe:  76%|███████████████████████████████████████████████▏          

こんにちは@musm 、これは完党なAnacondaディストリビュヌションを䜿甚するこずの欠点の1぀です。 モゞュヌルが非垞に倚いため、提䟛されおいるディストリビュヌションから倖れるず、すべおの䟝存関係を同時に解決するのが困難になる可胜性がありたす。 代わりにMinicondaを詊しおみおください。これはCondaですが、モゞュヌルがプリむンストヌルされおいたせん。 これを䜿甚しお、プロゞェクトに必芁なモゞュヌルだけを含める環境を䜜成したす。

私はこれを詊しおいたせんが、AnacondaをアンむンストヌルしおMinicondaをむンストヌルしなくおも、これを実行できる可胜性がありたす。 IE特定のモゞュヌルのみを含む新しい環境を最初から䜜成したす。 次のようなコマンドで詊しおくださいモゞュヌル名を線集しお、本圓に必芁なものを含めおください。

conda create -n <myenv> python ipython prompt_toolkit=2 jupyter pandas numpy scipy scikit-learn matplotlib
このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡