ΠΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Ipython Π½Π° Ubuntu 18.04, Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ ImportError.
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎΠ»Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ?
ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² 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 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
ΠΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ 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
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, Π²
ΠΈΠ· prompt_toolkit.shortcuts ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ create_prompt_application, create_eventloop, create_prompt_layout, create_output
ImportError: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΡ Β«create_prompt_applicationΒ»
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ°Π½Π½ΠΎ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ipython & prompt toolkit. ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ 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 ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠ° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈ Ρ: ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΄Π°Π»ΡΡΡ/ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ pip ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ conda, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ jupyter ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ΅Π΄Ρ env.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ python3.7 Ρ ΡΠ΄Π°Π»ΠΈΠ» ΠΊΠ°ΠΊ ipython
ΠΈ prompt_toolkit
ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ @stas00, ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ipython
ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ prompt_toolkit
ΡΠ°ΠΌ
pip uninstall -y ipython prompt_toolkit
pip install ipython
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°ΠΊ Π²Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ:
ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΡΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π° python-3.7.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.