pycharm nie łączy się z konsolą za pomocą Python3.8

10

Nie wiem dlaczego; ale od czasu wydania Python 3.8; Nie mogę uruchomić konsoli pycharm i zawsze ma ona status „jest połączony”.

Nie miałem problemu z Pythonem 3.7; ponieważ konsola jest otwierana natychmiast.

Tutaj widać, że kilkakrotnie próbowałem uruchomić konsolę, ale wiem, nawet jeśli poczekam dzień; Nie łączy się z konsolą; ale kiedy zmienię interpreter z python3.8 na python3.7, nowe konsole, które otwieram, są konfigurowane w ciągu sekundy.

Błąd:

C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydevd_bundle\pydevd_resolver.py:138: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if found.get(name) is not 1:
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\pydevconsole.py", line 33, in <module>
    from _pydev_bundle.pydev_console_utils import BaseInterpreterInterface
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydev_bundle\pydev_console_utils.py", line 11, in <module>
    from _pydevd_bundle import pydevd_thrift
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydevd_bundle\pydevd_thrift.py", line 17, in <module>
    from pydev_console.protocol import DebugValue, GetArrayResponse, ArrayData, ArrayHeaders, ColHeader, RowHeader, \
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\pydev_console\protocol.py", line 6, in <module>
    _console_thrift = _shaded_thriftpy.load(os.path.join(os.path.dirname(os.path.realpath(__file__)), "console.thrift"),
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\parser\__init__.py", line 29, in load
    thrift = parse(path, module_name, include_dirs=include_dirs,
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\parser\parser.py", line 502, in parse
    parser.parse(data)
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_ply\yacc.py", line 331, in parse
    return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_ply\yacc.py", line 1106, in parseopt_notrack
    p.callable(pslice)
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\parser\parser.py", line 212, in p_struct
    val = _fill_in_struct(p[1], p[3])
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\parser\parser.py", line 765, in _fill_in_struct
    gen_init(cls, thrift_spec, default_spec)
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\thrift.py", line 103, in gen_init
    cls.__init__ = init_func_generator(default_spec)
  File "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\third_party\thriftpy\_shaded_thriftpy\_compat.py", line 102, in init_func_generator
    new_code = types.CodeType(len(varnames),
TypeError: an integer is required (got type bytes)

Zdjęcie:

Zrzut ekranu

Dane techniczne pycharm: profesjonalna wersja pycharm 2019.1.3

Moh Vahedi
źródło
Czy skonfigurowałeś tłumacza? jetbrains.com/help/pycharm/configuring-python-interpreter.html Ponadto, który python (jeśli zainstalowałeś oba) jest na twojej drodze?
Swedgin
@Szwgin; Tak, zrobiłem, konfiguracja i ścieżka zostały poprawnie podane pycharmowi.
Moh Vahedi
@Szwgin, czy zgadłeś, co mówi nam błąd?
Moh Vahedi
Przepraszam, nie mogę ci pomóc. Minęło sporo czasu, odkąd użyłem pycharmu. To były jedyne 2 problemy, jakie mogłem wymyślić.
Swedgin

Odpowiedzi:

7

Działa dobrze w PyCharm (Społeczność) 2019.3 .

PyCharm dostarcza [PyPI]: thriftpy (w aktualnej wersji jest to zmodyfikowana wersja 0.3.8 ), ponieważ potrzebuje jej do różnych funkcji (w tym konsoli Python ).

Python 3.8 przyszedł z zestawem zmian (jednym z przykładów jest [Python]: PEP 570 - python-pozycyjne tylko parametry ) wymagające zmian w wielu istniejących (3 rd -party) pakietów w celu ich do pracy (dla niektórych im, wciąż jest WiP ).

Najwyraźniej ThriftPy jest jednym z tych pakietów, które wymagają zmian. Jednak nie jest utrzymywany od 2016 roku, więc JetBrains przechowuje (kopię / rozwidlenie?) W swoim repozytorium.

W każdym razie problem, przed którym stoisz, został naprawiony przez [GitHub]: JetBrains / intellij-community - PY-36069 Wsparcie konsoli Python dla Python 3.8 .
Niestety nie mogłem znaleźć problemu na JetBrains.YouTrack , więc nie mam żadnych dodatkowych informacji na jego temat (np. Kiedy został naprawiony itd.).

Mogę ci powiedzieć (wspomniano również na początku), że został on naprawiony (działa) w PyCharm (Społeczność) 2019.3 , więc jeśli go zaktualizujesz, nie powinieneś już mieć tego problemu.

Obejściem (jeśli aktualizacja nie jest opcją) byłoby zastosowanie poprawki (w adresie URL zatwierdzenia ) do (lokalnego) pliku _compat.py . Zaznacz [SO]: Uruchom / debuguj UnitTest aplikacji Django z menu kontekstowego myszy prawym przyciskiem myszy w PyCharm Community Edition? (@ Odpowiedź CristiFati za) ( łatanie utrunner sekcji) dla sposobu stosowania plastrów (na Win ).
Mała wzmianka: zastosowanie odwróconej poprawki do mojego lokalnego pliku, sprawiło, że problem był widoczny.

CristiFati
źródło
To wspaniale, dziękuję! Właściwie myślałem, że Pycharm prawdopodobnie to naprawił, więc zaktualizowałem Pycharm przed ustaleniem nagrody i nie rozwiązało to problemu. Najwyraźniej aktualizacja była z 1.3 na 1.4, mimo że wersja 3 była już dostępna. Ponowna aktualizacja rozwiązała problem, jak powiedziałeś.
Ella Sharakanski
@EllaSharakanski: Cieszę się, że to zadziałało! :)
CristiFati
@EllaSharakanski, dzięki za nagrodę, a także dzięki @CristiFatiza odpowiedź.
Moh Vahedi