J'utilise Pycharm
2016.1
sur CentOS7
et je teste "Show command line afterwards
"et j'ai eu ce problème:
AttributeError: 'PyDevTerminalInteractiveShell' object has no attribute 'has_readline'
/usr/bin/python3.4 /usr/local/pycharm/helpers/pydev/pydev_run_in_console.py 37196 52554 /root/PycharmProjects/mytf/mytest/test5.py
Traceback (most recent call last):
File "/usr/local/pycharm/helpers/pydev/pydev_run_in_console.py", line 63, in <module>
interpreter = InterpreterInterface(Host, int(client_port), threading.currentThread())
File "/usr/local/pycharm/helpers/pydev/_pydev_bundle/pydev_ipython_console.py", line 26, in __init__
self.interpreter = get_pydev_frontend(Host, client_port, show_banner=show_banner)
File "/usr/local/pycharm/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 473, in get_pydev_frontend
_PyDevFrontEndContainer._instance = _PyDevFrontEnd(show_banner=show_banner)
File "/usr/local/pycharm/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 303, in __init__
self.ipython = PyDevTerminalInteractiveShell.instance()
File "/usr/lib/python3.4/site-packages/traitlets/config/configurable.py", line 412, in instance
inst = cls(*args, **kwargs)
File "/usr/lib/python3.4/site-packages/IPython/terminal/interactiveshell.py", line 359, in __init__
super(TerminalInteractiveShell, self).__init__(*args, **kwargs)
File "/usr/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 487, in __init__
self.init_completer()
File "/usr/local/pycharm/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 222, in init_completer
self.Completer = self._new_completer_200()
File "/usr/local/pycharm/helpers/pydev/_pydev_bundle/pydev_ipython_console_011.py", line 194, in _new_completer_200
use_readline=self.has_readline,
AttributeError: 'PyDevTerminalInteractiveShell' object has no attribute 'has_readline'
Ce problème PyCharm se produit en raison de modifications apportées à l'api iPython
avec iPython
version 5. Jusqu'à ce que Jetbrains corrige cela, le retour à une version antérieure de iPython
(version 4) corrigera ce problème. . Comme @chenfei l'a découvert, cela peut être fait via pip
:
$ pip uninstall ipython
$ pip install ipython==4.2.0
Modifier
Et si vous ne pouvez pas attendre aussi longtemps, Jetbrains a publié un patch
https://youtrack.jetbrains.com/issue/PY-20013#comment=27-1512407
Édition finale
Ce problème a été corrigé dans PyCharm 2016.2
J'ai résolu mon problème en installant ipython version 4.2:
pip uninstall ipython
pip install ipython==4.2.0
La façon dont j'ai réussi à résoudre ce problème sans rétrograder iPython
était:
1 - Téléchargez le patch suivant:
https://youtrack.jetbrains.com/_persistent/pycharm_ipython5_fix.patch?file=74-327779&c=true
2 - Dans PyCharm
, créez un nouveau projet situé sur:
<PyCharm installation folder>/helpers/pydev/_pydev_bundle/
Pycharm
vous invitera à importer les fichiers de ce dossier, acceptez .
3 - Cliquez sur VCS et choisissez Apply Patch
4 - Choisissez le fichier que vous avez téléchargé sur étape 1 .
5 - Le Apply Patch s'ouvre, cliquez sur OK
6 - Redémarrer PyCharm
La console Python devrait maintenant fonctionner dans PyCharm
PS: Vous pouvez supprimer le dossier de projet (.idea) que vous avez créé sur Étape 2
Il est résolu dans Pycharm 2016.2. Voir ici: https://intellij-support.jetbrains.com/hc/en-us/community/posts/207207329-ipython-5-not-supported-by-Pycharm-s-python-console-