Ipython: ImportError : impossible d'importer le nom 'generator_to_async_generator'

Créé le 25 août 2018  ·  11Commentaires  ·  Source: ipython/ipython

Lorsque j'exécute Ipython sur Ubuntu18.04, j'ai cette ImportError.

Commentaire le plus utile

Comme vous l'avez suggéré:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

l'a corrigé pour moi sur python-3.7.

Merci.

Tous les 11 commentaires

Pouvez-vous dépasser l'erreur complète ?

Cela ressemble à une fonction qui apparaît dans prompt_toolkit, vous avez donc probablement une version incompatible de prompt_tookit. Mettre à niveau ou rétrograder vers une version correspondante.

Fermeture pour le moment, mais n'hésitez pas à commenter si cela doit être réouvert.

@Carreau

Traceback (most recent call last):
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 3181, in main
    mainwindow = run_spyder(app, options, args)
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 3057, in run_spyder
    main.setup()
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 896, in setup
    from spyder.plugins.ipythonconsole import IPythonConsole
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 59, in <module>
    from spyder.widgets.ipythonconsole import ClientWidget
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/__init__.py", line 12, in <module>
    from .debugging import DebuggingWidget
  File "/home/qleegb/.local/lib/python3.6/site-packages/spyder/widgets/ipythonconsole/debugging.py", line 17, in <module>
    from qtconsole.rich_jupyter_widget import RichJupyterWidget
  File "/home/qleegb/.local/lib/python3.6/site-packages/qtconsole/rich_jupyter_widget.py", line 14, in <module>
    from .jupyter_widget import JupyterWidget
  File "/home/qleegb/.local/lib/python3.6/site-packages/qtconsole/jupyter_widget.py", line 19, in <module>
    from IPython.lib.lexers import IPythonLexer, IPython3Lexer
  File "/home/qleegb/.local/lib/python3.6/site-packages/IPython/__init__.py", line 55, in <module>
    from .terminal.embed import embed
  File "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/embed.py", line 16, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 18, in <module>
    from prompt_toolkit.document import Document
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
    from .interface import CommandLineInterface
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/interface.py", line 19, in <module>
    from .application import Application, AbortAction
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/application/__init__.py", line 2, in <module>
    from .application import Application
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/application/application.py", line 3, in <module>
    from prompt_toolkit.buffer import Buffer
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/buffer.py", line 9, in <module>
    from .completion import Completer, Completion, CompleteEvent
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/completion/__init__.py", line 2, in <module>
    from .base import Completion, Completer, ThreadedCompleter, DummyCompleter, DynamicCompleter, CompleteEvent, merge_completers, get_common_complete_suffix
  File "/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/completion/base.py", line 4, in <module>
    from prompt_toolkit.eventloop import generator_to_async_generator, AsyncGeneratorItem
ImportError: cannot import name 'generator_to_async_generator'

Backcall-0.1.0 decorator-4.3.0 ipython-6.5.0 ipython-genutils-0.2.0 jedi-0.12.1 parso-0.3.1 pexpect-4.6.0 pickleshare-0.7.4 prompt-toolkit-2.0 a été installé avec succès. 4 ptyprocess-0.6.0 pygments-2.2.0 setuptools-40.2.0 simplegeneric-0.8.1 six-1.11.0 traitlets-4.3.2 wcwidth-0.1.7

Cela ressemble à prompt_toolkit a été mal installé. Retirez-le et réinstallez-le.
Comment as-tu installé ? Pépin ? Sudo (si vous avez utilisé sudo, c'est peut-être pourquoi, n'utilisez jamais sudo avec pip)

Qu'est-ce que

python -c 'import prompt_toolkit.eventloop; print(prompt_toolkit.eventloop.__file__)'

dit ?

/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/eventloop/__init__.py

$ python3
Traceback (appel le plus récent en dernier) :
Fichier "/home/qleegb/.local/bin/ipython3", ligne 7, dans
depuis IPython importer start_ipython
Fichier "/home/qleegb/.local/lib/python3.6/site-packages/IPython/__init__.py", ligne 55, dans
à partir de .terminal.embed importer incorporer
Fichier "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/embed.py", ligne 16, dans
depuis IPython.terminal.interactiveshell importer TerminalInteractiveShell
Fichier "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", ligne 22, dans
à partir de prompt_toolkit.shortcuts importer create_prompt_application, create_eventloop, create_prompt_layout, create_output
ImportError : impossible d'importer le nom 'create_prompt_application'

C'est super bizarre.

Essayez de désinstaller ipython & prompt toolkit. faites potentiellement plusieurs pip uninstall pour être sûr de ne pas avoir plusieurs installations.

Si cela ne résout pas le problème, j'essayerais quelque chose comme https://github.com/takluyver/damnpth , car il semble vraiment que votre système trouve 2 versions de Prompt_toolkit en même temps...

Comme vous l'avez suggéré:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

l'a corrigé pour moi sur python-3.7.

Merci.

@Carreau Merci pour votre suggestion :
réinstaller ipython et boîte à outils d'invite

Merci, ça a marché. Juste au cas où d'autres seraient dans la même situation que moi : j'ai dû effectuer une désinstallation/installation à partir de l'environnement conda en difficulté, même lors du lancement de jupyter à partir de l'environnement de base.

Dans mon cas avec python3.7, j'ai désinstallé à la fois ipython et prompt_toolkit comme indiqué par @stas00 et ipython pour qu'il installe le prompt_toolkit compatible lui-même

pip uninstall -y ipython prompt_toolkit
pip install ipython
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

okomarov picture okomarov  ·  3Commentaires

frenzymadness picture frenzymadness  ·  3Commentaires

ipython picture ipython  ·  3Commentaires

quchunguang picture quchunguang  ·  3Commentaires

jakirkham picture jakirkham  ·  4Commentaires