pycharm não se conecta ao console com python3.8

10

Eu não sei porque; mas desde que o python 3.8 foi lançado; Não consigo executar o console pycharm e ele está sempre no status "estando conectado".

Eu não tive nenhum problema com python 3.7; desde que o console seja aberto imediatamente.

Aqui você pode ver que tentei várias vezes executar o console, mas sei que, mesmo que espere um dia; Ele não se conecta ao console; mas quando mudo o intérprete de python3.8 para python3.7, os novos consoles que abro são todos configurados em um segundo.

O erro:

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)

A foto:

A captura de tela

pycharm specs: pycharm versão profissional 2019.1.3

Moh Vahedi
fonte
Configeriu o intérprete? jetbrains.com/help/pycharm/configuring-python-interpreter.html Além disso, qual python (se você instalou os dois) está no seu caminho?
Swedgin
@Swedgin; Sim, fiz, a configuração e o caminho foram dados corretamente ao pycharm.
Moh Vahedi
@Swedgin, você tem alguma ideia do que o erro está dizendo para nós?
Moh Vahedi
Desculpe, não posso ajudá-lo. Faz um bom tempo desde que eu usei pycharm. Esses foram os únicos 2 problemas em que pude pensar.
Swedgin

Respostas:

7

Funciona bem no PyCharm (Community) 2019.3 .

O PyCharm é enviado [PyPI]: thriftpy (para a versão atual, é uma v0.3.8 modificada ), pois é necessário para diferentes recursos (incluindo o Python Console ).

Python 3.8 veio com um conjunto de alterações (um exemplo é [Python]: PEP 570 - Python posicionais-Somente Parâmetros ) exigindo mudanças em muitas das (3 existentes rd -party) pacotes em ordem para que eles funcionem (por alguns dos eles ainda há WiP ).

Aparentemente, o ThriftPy é um daqueles pacotes que exigem alterações. No entanto, ele não é mantido desde 2016, então o JetBrains mantém (uma cópia / bifurcação?) Em seu repositório.

De qualquer forma, o problema que você está enfrentando foi corrigido pelo [GitHub]: JetBrains / intellij-community - PY-36069 Suporte ao console Python para Python 3.8 .
Infelizmente, não encontrei o problema no JetBrains.YouTrack , por isso não tenho informações adicionais sobre ele (como quando foi corrigido e assim por diante).

O que posso dizer (também mencionado no início) é que foi corrigido (funciona) no PyCharm (Comunidade) 2019.3 , portanto, se você atualizá-lo, não terá mais esse problema.

Uma solução alternativa (se a atualização não for uma opção) seria aplicar o patch (na URL de confirmação ) ao seu arquivo _compat.py (local) . Marque [SO]: Executar / Depurar os UnitTests de um aplicativo Django no menu de contexto do mouse, com o botão direito do mouse no PyCharm Community Edition? (Resposta de @ CristiFati) ( seção Patching utrunner ) para saber como aplicar patches (no Win ).
Pequena menção: a aplicação do patch invertido no meu arquivo local tornou o problema visível.

CristiFati
fonte
Isso é ótimo, obrigado! Na verdade, eu pensei que o Pycharm provavelmente tivesse corrigido isso, então atualizei o Pycharm antes de definir a recompensa e isso não resolveu o problema. Aparentemente, a atualização foi de 1.3 para 1.4, embora a versão 3 já estivesse disponível. A atualização novamente resolveu o problema como você disse.
Ella Sharakanski
@ EllaSharakanski: feliz em saber que funcionou! :)
CristiFati
@ EllaSharakanski, obrigado pela recompensa e também @CristiFatipela resposta.
Moh Vahedi