Почему я получаю ошибки при запуске pyshark в виртуальной среде python3? - PullRequest
0 голосов
/ 16 сентября 2018

Недавно я установил Pyshark на свой Pycharm.Это мой код:

import pyshark
cap = pyshark.FileCapture('/root/captures/initialize_db.pcap')
print (dir(cap[184]['DB-LSP-DISC']))

Когда я запускаю, я получаю ответ с некоторыми предупреждениями:

['DATA_LAYER', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_all_fields', '_field_prefix', '_get_all_field_lines', '_get_all_fields_with_alternates', '_get_field_or_layer_repr', '_get_field_repr', '_layer_name', '_sanitize_field_name', 'field_names', 'get', 'get_field', 'get_field_by_showname', 'get_field_value', 'json_array', 'json_key', 'json_member', 'json_object', 'json_value_number', 'json_value_string', 'layer_name', 'pretty_print', 'raw_mode']
Exception ignored in: <bound method BaseEventLoop.__del__ of <_UnixSelectorEventLoop running=False closed=True debug=False>>
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/base_events.py", line 510, in __del__
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 65, in close
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 146, in remove_signal_handler
  File "/usr/lib/python3.5/signal.py", line 47, in signal
TypeError: signal handler must be signal.SIG_IGN, signal.SIG_DFL, or a callable object
Exception ignored in: <generator object Capture._packets_from_tshark_sync at 0x7f4787d2eba0>
Traceback (most recent call last):
  File "/root/PycharmProjects/Dropbox/venv/lib/python3.5/site-packages/pyshark/capture/capture.py", line 229, in _packets_from_tshark_sync
  File "/usr/lib/python3.5/asyncio/base_events.py", line 443, in run_until_complete
  File "/usr/lib/python3.5/asyncio/base_events.py", line 357, in _check_closed
RuntimeError: Event loop is closed
sys:1: RuntimeWarning: coroutine 'Capture._cleanup_subprocess' was never awaited
Exception ignored in: <bound method BaseSubprocessTransport.__del__ of <_UnixSubprocessTransport closed pid=20639 running stdout=<_UnixReadPipeTransport closing fd=7 open>>>
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/base_subprocess.py", line 131, in __del__
  File "/usr/lib/python3.5/asyncio/base_subprocess.py", line 106, in close
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 414, in close
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 442, in _close
  File "/usr/lib/python3.5/asyncio/base_events.py", line 572, in call_soon
  File "/usr/lib/python3.5/asyncio/base_events.py", line 357, in _check_closed
RuntimeError: Event loop is closed

Я запускаю Python 3.5.3 в виртуальной среде.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Это связано с версией торнадо. Предлагаемое решение - использовать следующие версии: python == 3.5.2, pyshark == 0.3.7.11 и tornado == 4.5.3

0 голосов
/ 10 октября 2018

Для меня, когда я помещаю функцию exit () в конец кода, ошибки исчезают.Не знаю почему?(на самом деле это напоминает мне об этом меме :)

https://pics.me.me/my-code-doesnt-work-ihave-noidea-why-my-code-works-28614548.png

...