Ich weiß nicht warum; aber seit Python 3.8 veröffentlicht wurde; Ich kann die Pycharm-Konsole nicht ausführen und sie befindet sich immer im Status "Verbunden sein".
Ich hatte kein Problem mit Python 3.7; da die Konsole sofort geöffnet wird.
Hier können Sie sehen, dass ich mehrmals versucht habe, die Konsole auszuführen, aber ich weiß, auch wenn ich einen Tag warte; Es wird keine Verbindung zur Konsole hergestellt. Wenn ich jedoch den Interpreter von python3.8 auf python3.7 ändere, werden die neuen Konsolen, die ich öffne, alle innerhalb einer Sekunde eingerichtet.
Der Fehler:
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)
Das Foto:
pycharm specs: pycharm professional version 2019.1.3
python
console
pycharm
python-3.8
Moh Vahedi
quelle
quelle
Antworten:
Es funktioniert gut auf PyCharm (Community) 2019.3 .
PyCharm Schiffe [PyPI]: thriftpy (zur aktuellen Version, es ist ein modifizierte v0.3.8 ), wie sie es für verschiedene Funktionen (einschließlich der benötigten Python - Konsole ).
Python 3.8 kam mit einer Reihe von Änderungen (ein Beispiel ist [Python]: PEP 570 - Python Positional-Only - Parameter ) erfordern Veränderungen in vielen der bestehenden (3 rd -Party) Pakete , um für sie zu arbeiten (für einige ihnen gibt es noch WiP ).
Anscheinend ist ThriftPy eines dieser Pakete, die Änderungen erfordern. Es wurde jedoch seit 2016 nicht mehr gewartet, sodass JetBrains (eine Kopie / Gabel?) In ihrem Repository aufbewahrt.
Wie auch immer, das Problem, mit dem Sie konfrontiert sind, wurde von [GitHub] behoben : JetBrains / Intellij-Community - PY-36069 Python-Konsolenunterstützung für Python 3.8 .
Leider konnte ich das Problem auf JetBrains.YouTrack nicht finden , daher habe ich keine zusätzlichen Informationen dazu (z. B. wann es behoben wurde usw.).
Was ich Ihnen sagen kann (auch am Anfang erwähnt), ist, dass es in PyCharm (Community) 2019.3 behoben wurde (funktioniert). Wenn Sie es also aktualisieren, sollten Sie dieses Problem nicht mehr haben.
Eine Problemumgehung (wenn ein Upgrade nicht möglich ist) besteht darin, den Patch (in der Festschreibungs- URL ) auf Ihre (lokale) Datei _compat.py anzuwenden . Aktivieren Sie [SO]: Ausführen / Debuggen der UnitTests einer Django-Anwendung über das Kontextmenü mit der rechten Maustaste in der PyCharm Community Edition? (Antwort von @ CristiFati) ( Abschnitt " Patching utrunner ") zum Anwenden von Patches (unter Win ).
Kleine Erwähnung: Durch Anwenden des umgekehrten Patches auf meine lokale Datei wurde das Problem sichtbar.
quelle
@CristiFati
für die Antwort.