83123

[code]

    cap = pyshark.FileCapture(pcapfile)
    print(cap[0])
    
[/code]

このようなコードを動かしたいだけなのですが、以下のようなエラーコードが出てしまいます。

> RuntimeError: Cannot run the event loop while another loop is running

色々調べてnest_asyncio.apply()など試しましたが解決方法がわかりません。  
どなたかわかる方いましたらよろしくお願いします。


CC BY-SA 4.0
2021-10-15T08:35:03.007
83116
2021-10-16T04:02:24.650
48660
question
python wireshark
pysharkを使ってpcapファイルを解析する際のRuntimeError


コメントで解決したようなので、それを情報として回答にしておきます。

こちらのpysharkのIsuueやStackOverflow英語版の記事によると、Jupyter-
Notebook/LabあるいはGoogleColab関連の環境で実行していると発生する問題のようです。  
[Cannot run the event loop while another loop is running
#360](https://github.com/KimiNewt/pyshark/issues/360)  
[Pyshark cannot run event loop](https://stackoverflow.com/q/67434088/9014308)

Issueには質問にもあった`nest_asyncio.apply()`や他に`tornade`を使う案(版数が上がると出来なくなる？)も出ていましたが、`IDLE`で動作したという報告があるように結局はPython単独の環境で実行することで正常に動作するようです。

質問者さんはVSCodeから実行することで動作したようです。


CC BY-SA 4.0
2021-10-16T04:02:24.650
83123
2021-10-16T04:02:24.650
26370
83116
answer