Ipython: خطأ في الاستيراد: لا يمكن استيراد الاسم "Generator_to_async_generator"

تم إنشاؤها على ٢٥ أغسطس ٢٠١٨  ·  11تعليقات  ·  مصدر: ipython/ipython

عند تشغيل Ipython على Ubuntu18.04 ، حصلت على خطأ الاستيراد هذا.

التعليق الأكثر فائدة

كما اقترحت:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

تم إصلاحه لي على python-3.7.

شكرا لك.

ال 11 كومينتر

هل يمكنك تجاوز الخطأ الكامل؟

تبدو هذه كدالة تظهر في مجموعة أدوات الموجه ، لذا من المحتمل أن يكون لديك إصدار غير متوافق من أداة سطر الأوامر. قم بالترقية أو الرجوع إلى إصدار مطابق.

يتم الإغلاق الآن ، ولكن لا تتردد في التعليق إذا كان هذا بحاجة إلى إعادة فتح.

@ بلاط

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 fast-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

هذا يبدو وكأنه قد تم التثبيت بشكل خاطئ. قم بإزالته وإعادة تثبيته.
كيف قمت بالتثبيت؟ بيب؟ سودو (إذا كنت تستخدم sudo فقد يكون هذا هو السبب ، فلا تستخدم sudo مع النقطة أبدًا)

ماذا فعلت

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 دولار
Traceback (آخر مكالمة أخيرة):
ملف "/home/qleegb/.local/bin/ipython3" ، السطر 7 ، في
من IPython استيراد start_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 استيراد TerminalInteractiveShell
ملف "/home/qleegb/.local/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py" ، السطر 22 ، في
من موجه الأوامر ، استيراد create_prompt_application ، create_eventloop ، create_prompt_layout ، create_output
ImportError: لا يمكن استيراد الاسم 'create_prompt_application'

هذا غريب للغاية.

حاول إلغاء تثبيت مجموعة أدوات ipython & المطالبة. من المحتمل أن تقوم بالعديد من pip uninstall للتأكد من عدم وجود عمليات تثبيت متعددة.

إذا لم يتم إصلاح ذلك ، سأجرب شيئًا مثل https://github.com/takluyver/damnpth ، لأنه يبدو حقًا أن نظامك يبحث عن نسختين من Prompt_toolkit في نفس الوقت ...

كما اقترحت:

pip uninstall -y ipython prompt_toolkit
pip install ipython prompt_toolkit

تم إصلاحه لي على python-3.7.

شكرا لك.

Carreau شكرا لك اقتراحك:
أعد تثبيت مجموعة أدوات ipython والموجه

شكرا ، لقد نجح ذلك. فقط في حالة وجود الآخرين في نفس الموقف الذي كنت عليه: اضطررت إلى إلغاء التثبيت / التثبيت من داخل بيئة conda المضطربة ، حتى عند إطلاق jupyter من بيئة التشغيل الأساسية.

في حالتي مع python3.7 ، قمت بإلغاء تثبيت كل من ipython و prompt_toolkit كما هو موضح بواسطة @ stas00 وقمت للتو بتثبيت ipython بحيث يتم تثبيت prompt_toolkit المتوافق بحد ذاتها

pip uninstall -y ipython prompt_toolkit
pip install ipython
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات