Ipython: ImportError:名前 'generator_to_async_generator'をインポートできません

作成日 2018年08月25日  ·  11コメント  ·  ソース: ipython/ipython

Ubuntu18.04でIpythonを実行すると、このImportErrorが発生しました。

最も参考になるコメント

あなたが提案したように:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

python-3.7で修正しました。

ありがとう。

全てのコメント11件

あなたは完全なエラーを乗り越えることができますか?

これはprompt_toolkitに表示される関数のように見えるため、互換性のないバージョンのprompt_tookitがある可能性があります。 一致するバージョンにアップグレードまたはダウングレードします。

とりあえず締めくくりますが、再開する必要がある場合はコメントしてください。

@タイル

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デコレータ-4.3.0ipython-6.5.0 ipython-genutils-0.2.0 jedi-0.12.1 parso-0.3.1 pexpect-4.6.0 pickleshare-0.7.4prompt-toolkit-2.0が正常にインストールされました。 4 ptyprocess-0.6.0 pygments-2.2.0 setuptools-40.2.0 simplegeneric-0.8.1 6-1.11.0 traitlets-4.3.2 wcwidth-0.1.7

これは、prompt_toolkitが誤ってインストールされているように見えます。 それを削除して再インストールします。
どのようにインストールしましたか? ピップ? Sudo(sudoを使用したことが理由である可能性がある場合は、sudoをpipと一緒に使用しないでください)

何をしますか

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

言う?

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

$ ipython3
トレースバック(最後の最後の呼び出し):
ファイル "/home/qleegb/.local/bin/ipython3"、7行目
IPythonからimportstart_ipython
ファイル "/home/qleegb/.local/lib/python3.6/site-packages/IPython/__init__.py"、55行目
.terminal.embedからインポート埋め込み
ファイル "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/embed.py"、16行目
IPython.terminal.interactiveshellからimportTerminalInteractiveShell
ファイル "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py"、22行目
prompt_toolkit.shortcutsからimportcreate_prompt_application、create_eventloop、create_prompt_layout、create_output
ImportError:名前 'create_prompt_application'をインポートできません

それはとても奇妙です。

ipythonとプロンプトツールキットをアンインストールしてみてください。 複数のインストールがないことを確認するために、いくつかのpip uninstallを実行する可能性があります。

これで修正されない場合は、 https://github.com/takluyver/damnpthのようなものを試してみます。これは、システムが2つのバージョンのPrompt_toolkitを同時に検出しているように見えるためです...

あなたが提案したように:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

python-3.7で修正しました。

ありがとう。

@Carreauあなたの提案をありがとう:
ipythonとプロンプトツールキットを再インストールします

ありがとう、それはうまくいきました。 他の人が同じ状況にある場合に備えて、私は次のようになりました。ベース環境からjupyterを起動する場合でも、問題のあるconda環境内からアンインストール/インストールを実行する必要がありました。

python3.7の場合、 @ stas00で示されているようにipythonprompt_toolkit両方をアンインストールし、互換性のあるprompt_toolkitインストールするようにipythonインストールしました。自体

pip uninstall -y ipython prompt_toolkit
pip install ipython
このページは役に立ちましたか?
0 / 5 - 0 評価