Python ошибок с telnetlib - PullRequest
       12

Python ошибок с telnetlib

0 голосов
/ 09 января 2020

У меня несколько ошибок с библиотекой python telnetlib.

Когда я использую его из repl, вот код, который я ввожу:

import telnetlib
telnetlib.Telnet("<an_ip>", <a_port>) as tn:
  write("SYST:BEEP")

Возвращает следующее ошибка:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/local/lib/python3.6/telnetlib.py", line 287, in write
    if IAC in buffer:
TypeError: 'in <string>' requires string as left operand, not bytes

Теперь, что странно, когда я выполняю следующий скрипт:

import telnetlib

def beep(tn):
    """Beep the pulse generator."""
    tn.write("SYST:BEEP\n")

# Main for test purpose
if __name__ == "__main__":
    with telnetlib.Telnet("<ip>", <port>) as tn:
        beep(tn)

У меня появляется следующая ошибка, и она возникает каждый раз, когда я импортирую telnetlib .. .

raceback (most recent call last):
  File "test.py", line 1, in <module>
    import telnetlib
  File "/usr/lib/python3.7/telnetlib.py", line 37, in <module>
    import socket
  File "/usr/lib/python3.7/socket.py", line 53, in <module>
    from enum import IntEnum, IntFlag
  File "/usr/lib/python3.7/enum.py", line 2, in <module>
    from types import MappingProxyType, DynamicClassAttribute
  File "/home/vpecatte/dev/soft/soft/types.py", line 1, in <module>
    from typing import *
  File "/usr/lib/python3.7/typing.py", line 28, in <module>
    import re as stdlib_re  # Avoid confusion with the re we export.
  File "/usr/lib/python3.7/re.py", line 143, in <module>
    class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 53, in apport_excepthook
    if not enabled():
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 24, in enabled
    import re
  File "/usr/lib/python3.7/re.py", line 122, in <module>
    import enum
  File "/usr/lib/python3.7/enum.py", line 2, in <module>
    from types import MappingProxyType, DynamicClassAttribute
  File "/home/vpecatte/dev/soft/soft/types.py", line 1, in <module>
    from typing import *
  File "/usr/lib/python3.7/typing.py", line 31, in <module>
    from types import WrapperDescriptorType, MethodWrapperType, MethodDescriptorType
ImportError: cannot import name 'WrapperDescriptorType' from 'types' (/home/vpecatte/dev/soft/soft/types.py)

Original exception was:
Traceback (most recent call last):
  File "pulse_generator.py", line 1, in <module>
    import telnetlib
  File "/usr/lib/python3.7/telnetlib.py", line 37, in <module>
    import socket
  File "/usr/lib/python3.7/socket.py", line 53, in <module>
    from enum import IntEnum, IntFlag
  File "/usr/lib/python3.7/enum.py", line 2, in <module>
    from types import MappingProxyType, DynamicClassAttribute
  File "/home/vpecatte/dev/soft/soft/types.py", line 1, in <module>
    from typing import *
  File "/usr/lib/python3.7/typing.py", line 28, in <module>
    import re as stdlib_re  # Avoid confusion with the re we export.
  File "/usr/lib/python3.7/re.py", line 143, in <module>
    class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'

Я использую python v3.7.5. Я заменил правильную информацию на.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 04 марта 2020

Похоже, что вы установили свой собственный модуль types в /home/vpecatte/dev/soft/soft/types.py, который конфликтует со встроенным модулем Python types. Лучшее решение - переименовать этот модуль types.

...