Cuando ejecuto Ipython en Ubuntu18.04, obtuve este ImportError.
¿Puedes pasar el error completo?
Esto parece una función que aparece en prompt_toolkit, por lo que es probable que tenga una versión incompatible de prompt_toolkit. Actualizar o degradar a una versión coincidente.
Cerrando por ahora, pero siéntase libre de comentar si esto necesita ser reabierto.
@Teja
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'
Se instaló correctamente 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. 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
Esta apariencia de prompt_toolkit se ha instalado incorrectamente. Quitarlo y volver a instalarlo.
¿Cómo instalaste? pipa? Sudo (si usaste sudo, esa podría ser la razón, nunca uses sudo con pip)
Que hace
python -c 'import prompt_toolkit.eventloop; print(prompt_toolkit.eventloop.__file__)'
dice ?
/home/qleegb/.local/lib/python3.6/site-packages/prompt_toolkit/eventloop/__init__.py
$ipython3
Rastreo (llamadas recientes más última):
Archivo "/home/qleegb/.local/bin/ipython3", línea 7, en
desde IPython importar start_ipython
Archivo "/home/qleegb/.local/lib/python3.6/site-packages/IPython/__init__.py", línea 55, en
desde .terminal.embed importar incrustar
Archivo "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/embed.py", línea 16, en
desde IPython.terminal.interactiveshell import TerminalInteractiveShell
Archivo "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", línea 22, en
from prompt_toolkit.shortcuts import create_prompt_application, create_eventloop, create_prompt_layout, create_output
ImportError: no se puede importar el nombre 'create_prompt_application'
Eso es súper raro.
Intente desinstalar ipython y el kit de herramientas de solicitud. potencialmente haga varios pip uninstall
para asegurarse de que no tiene varias instalaciones.
Si esto no lo soluciona, intentaría algo como https://github.com/takluyver/damnpth , porque realmente parece que su sistema está encontrando 2 versiones de Prompt_toolkit al mismo tiempo...
Como sugeriste:
pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit
me lo arregló en python-3.7.
Gracias.
@Carreau Gracias por tu sugerencia:
reinstalar ipython y kit de herramientas de solicitud
Gracias, eso funcionó. En caso de que otros estén en la misma situación que yo: tuve que desinstalar/instalar pip desde el entorno problemático de conda, incluso al iniciar jupyter desde el env base.
En mi caso con python3.7, desinstalé tanto ipython
como prompt_toolkit
como se muestra en @stas00 y acabo de instalar ipython
para que instale el prompt_toolkit
compatible sí mismo
pip uninstall -y ipython prompt_toolkit
pip install ipython
Comentario más útil
Como sugeriste:
me lo arregló en python-3.7.
Gracias.