[python] pycharm이 python3.8로 콘솔에 연결되지 않습니다

이유를 모르겠습니다. 그러나 파이썬 3.8이 출시 된 이후; pycharm 콘솔을 실행할 수 없으며 항상 “연결 중”상태입니다.

파이썬 3.7에는 아무런 문제가 없었습니다. 콘솔이 즉시 열리므로

여기서 콘솔을 실행하기 위해 여러 번 시도했지만 하루를 기다려도 알고 있습니다. 콘솔에 연결되지 않습니다. 그러나 인터프리터를 python3.8에서 python3.7로 변경하면 내가 여는 새로운 콘솔이 모두 1 초 안에 설정됩니다.

오류:

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)

사진:

스크린 샷

pycharm 사양 : pycharm Professional 버전 2019.1.3



답변

PyCharm (커뮤니티) 2019.3에서 제대로 작동합니다 .

PyCharm[PyPI] : thriftpy (현재 버전의 경우 수정 된 v0.3.8 )를 제공합니다. 다른 기능 ( Python Console 포함)에 필요하기 때문입니다 .

파이썬 3.8 (한 예는 변화의 세트와 함께 제공 : – 파이썬 위치 상 전용 매개 변수 PEP 570 [파이썬] 기존 (3 많은 변화 필요) 번째의 일부에 대한 작업에 대한 위해 -party) 패키지를 ( 그들 에게는 여전히 WiP가 있습니다 ).

분명히 ThriftPy 는 변경이 필요한 패키지 중 하나입니다. 그러나 2016 년 이후 유지 관리되지 않았으므로 JetBrains 는 저장소에 (사본 / 포크?)를 유지합니다.

어쨌든, 직면하고있는 문제는 [GitHub] : JetBrains / intellij-community-PY-36069 Python 3.8에 대한 Python 콘솔 지원으로 해결되었습니다 .
불행히도 JetBrains.YouTrack 에서 문제를 찾을 수 없었으므로 문제가 해결 된 시기와 같은 추가 정보가 없습니다.

내가 말할 수있는 것은 (처음에 언급 했음) PyCharm (Community) 2019.3 에서 수정되어 작동 한다는 것이므로 업그레이드하면 더 이상이 문제가 발생하지 않습니다.

해결 방법 (업그레이드가 옵션이 아닌 경우)은 (로컬) _compat.py 파일에 ( 커밋 URL에있는 ) 패치를 적용하는 것 입니다. [SO] 확인 : PyCharm Community Edition의 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에서 Django 응용 프로그램의 UnitTests를 실행 / 디버깅 하시겠습니까? 패치를 적용하는 방법에 대한 ( @CristiFati의 답변) ( 패칭 utrunner 섹션) ( Win ). 작은 언급 : 역 패치를 로컬 파일에 적용하면 문제가 나타납니다.


답변