更新后Pycharm控制台无法连接

Kia*_*aSh 5 pycharm python-3.x

我刚刚更新了Pycharm,除了提供以下错误的"Python控制台"之外,一切正常:

"/ Applications/PyCharm CE.app/Contents/helpers/pydev/pydevconsole.py"52830 52831

Traceback(最近一次调用最后一次):

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/pydevconsole.py",第526行,pydevconsole.start_server(host,int(port),int(client_port),client_host)

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/pydevconsole.py",第347行,在start_server解释器中= InterpreterInterface(client_host,client_port,threading.currentThread())

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console.py",第24行,在init self.interpreter = get_pydev_frontend(host,client_port)中

在get_pydev_frontend _PyDevFrontEndContainer._instance = _PyDevFrontEnd()中输入文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py",第461行

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py",第310行,在init self.ipython = PyDevTerminalInteractiveShell.instance()

文件"/Users/kiarash/anaconda/lib/python3.6/site-packages/traitlets/config/configurable.py",第412行,实例中inst = cls(*args,**kwargs)

init super(TerminalInteractiveShell,self)中输入文件"/Users/kiarash/anaconda/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py",第430行.init(*args,**kwargs)

init self.init_completer()中输入文件"/Users/kiarash/anaconda/lib/python3.6/site-packages/IPython/core/interactiveshell.py",第516行

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py",第234行,在init_completer self.Completer = self._new_completer_500()

文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py",第196行,在_new_completer_500 parent = self

init self.matchers.remove中文件"/ Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py",第87行(self.python_matches)

ValueError:list.remove(x):x不在列表中

进程以退出代码1结束

小智 13

已经在GitHub上提交了一个补丁(https://github.com/JetBrains/intellij-community/commit/d9f32f650b5a1f4e7a9646011da415d27e18a210)

您也可以将自己的补丁应用于文件路径:

<PyCharm Root>/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py
Run Code Online (Sandbox Code Playgroud)

修改:

     class PyDevIPCompleter(IPCompleter):

     def __init__(self, *args, **kwargs):
         """ Create a Completer that reuses the advanced completion support of PyDev
             in addition to the completion support provided by IPython """
         IPCompleter.__init__(self, *args, **kwargs)
         # Use PyDev for python matches, see getCompletions below
-        self.matchers.remove(self.python_matches)
+        if self.python_matches in self.matchers:
+            # `self.python_matches` matches attributes or global python names
+            self.matchers.remove(self.python_matches)
Run Code Online (Sandbox Code Playgroud)


小智 12

我发现ipython是ipython(6.3.0)更新的问题,但如果你现在想要使用pycharm你应该降级到ipython(6.2.0)