pycharm не подключается к консоли с python3.8

10

Я не знаю почему; но с тех пор как Python 3.8 был выпущен; Я не могу запустить консоль pycharm, и она всегда находится в состоянии «соединения».

У меня не было проблем с питоном 3.7; так как консоль открывается сразу.

Здесь вы можете видеть, что я несколько раз пытался запустить консоль, но я знаю, даже если я подожду день; Не подключается к консоли; но когда я меняю интерпретатор с python3.8 на python3.7, все новые открытые консоли настраиваются в течение секунды.

Ошибка:

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 2019.1.3

Мох Вахеди
источник
Вы конфигировали переводчика? jetbrains.com/help/pycharm/configuring-python-interpreter.html Кроме того, какой Python (если вы установили оба) находится на вашем пути?
Swedgin
@Swedgin; Да, я сделал, конфигурация и путь были правильно даны pycharm.
Мох Вахеди
@Swedgin, ты догадываешься, что говорит нам ошибка?
Мох Вахеди
Извините, не могу вам помочь. Прошло много времени с тех пор, как я использовал pycharm. Это были единственные две проблемы, о которых я мог подумать.
Седгин

Ответы:

7

Отлично работает на PyCharm (Community) 2019.3 .

PyCharm поставляется с [PyPI]: thriftpy (для текущей версии это модифицированный v0.3.8 ), так как он нужен для различных функций (включая консоль Python ).

В Python 3.8 был внесен ряд изменений (например, [Python]: PEP 570 - только для позиционных параметров Python ), требующих внесения изменений во многие из существующих (3- й стороны) пакетов, чтобы они работали (для некоторых из их, еще есть WiP ).

Судя по всему, ThriftPy является одним из тех пакетов, которые требуют изменений. Однако он не поддерживается с 2016 года, поэтому JetBrains хранит (копию / ветвь?) В своем хранилище.

В любом случае, проблема, с которой вы столкнулись, была исправлена [GitHub]: JetBrains / intellij-community - поддержка консоли Python PY-36069 для Python 3.8 .
К сожалению, я не смог найти проблему на JetBrains.YouTrack , поэтому у меня нет никакой дополнительной информации о ней (например, когда она была исправлена ​​и т. Д.).

Что я могу вам сказать (также упоминалось в начале), это то, что это было исправлено (работает) в PyCharm (Community) 2019.3 , поэтому, если вы обновите его, у вас больше не должно быть этой проблемы.

Обходной путь (если обновление не вариант) - применить исправление (в URL-адресе фиксации ) к вашему (локальному) файлу _compat.py . Отметьте [SO]: запускать / отлаживать UnitTests приложения Django из контекстного меню, вызываемого правой кнопкой мыши, в PyCharm Community Edition? (@ Ответ CristiFati в) ( Patching utrunner раздел) для того, как применять патчи (на Win ).
Небольшое упоминание: применение обратного патча к моему локальному файлу сделало проблему видимой.

CristiFati
источник
Это здорово, спасибо! На самом деле, я подумал, что Pycharm, вероятно, исправил это, поэтому я обновил Pycharm перед установкой награды, и это не решило проблему. По всей видимости, обновление было с 1.3 до 1.4, хотя версия 3 уже была доступна. Обновление снова решило проблему, как вы сказали.
Элла Шаракански
@EllaSharakanski: рад слышать, что это сработало! :)
CristiFati
@EllaSharakanski, спасибо за награду, а также спасибо @CristiFatiза ответ.
Мох Вахеди