이유를 모르겠습니다. 그러나 파이썬 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 ). 작은 언급 : 역 패치를 로컬 파일에 적용하면 문제가 나타납니다.