为 Jupyter Notebook 安装 python3 内核时出现导入错误
Import Error when installing python3 kernel for Jupyter Notebook
我的 python3 jupyter notebook 内核没有启动,所以我卸载了它。然后我运行这些命令来创建一个新的python3内核。
python3 -m pip install ipykernel
python3 -m ipykernel install --user
但是,当 运行 python3 -m ipykernel install --user
时出现错误。
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/ipykernel/__init__.py", line 2, in <module>
from .connect import *
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/ipykernel/connect.py", line 11, in <module>
from IPython.core.profiledir import ProfileDir
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/__init__.py", line 56, in <module>
from .terminal.embed import embed
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/terminal/embed.py", line 16, in <module>
from IPython.terminal.interactiveshell import TerminalInteractiveShell
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/terminal/interactiveshell.py", line 19, in <module>
from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
from .application import Application
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/application/__init__.py", line 1, in <module>
from .application import Application
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/application/application.py", line 42, in <module>
from prompt_toolkit.buffer import Buffer
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/buffer.py", line 33, in <module>
from .auto_suggest import AutoSuggest, Suggestion
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/auto_suggest.py", line 19, in <module>
from .document import Document
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/document.py", line 8, in <module>
from typing import (
ImportError: cannot import name 'NoReturn'
这与我在删除原始 python3 内核之前遇到的错误相同。我该如何解决这个问题?
我通过卸载并重新安装 Anaconda 解决了这个问题。
似乎 python 版本有问题,Typing.NoReturn
是 python 3.6.2 的新功能。
尝试安装较低版本的 prompt-toolkit,例如 2.0.10。它对我有用:
python3 -m pip install prompt-toolkit==2.0.10
然后重试:
python3 -m ipykernel install --user
我的 python3 jupyter notebook 内核没有启动,所以我卸载了它。然后我运行这些命令来创建一个新的python3内核。
python3 -m pip install ipykernel
python3 -m ipykernel install --user
但是,当 运行 python3 -m ipykernel install --user
时出现错误。
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/ipykernel/__init__.py", line 2, in <module>
from .connect import *
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/ipykernel/connect.py", line 11, in <module>
from IPython.core.profiledir import ProfileDir
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/__init__.py", line 56, in <module>
from .terminal.embed import embed
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/terminal/embed.py", line 16, in <module>
from IPython.terminal.interactiveshell import TerminalInteractiveShell
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/IPython/terminal/interactiveshell.py", line 19, in <module>
from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
from .application import Application
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/application/__init__.py", line 1, in <module>
from .application import Application
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/application/application.py", line 42, in <module>
from prompt_toolkit.buffer import Buffer
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/buffer.py", line 33, in <module>
from .auto_suggest import AutoSuggest, Suggestion
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/auto_suggest.py", line 19, in <module>
from .document import Document
File "/Users/user1/Library/Python/3.6/lib/python/site-packages/prompt_toolkit/document.py", line 8, in <module>
from typing import (
ImportError: cannot import name 'NoReturn'
这与我在删除原始 python3 内核之前遇到的错误相同。我该如何解决这个问题?
我通过卸载并重新安装 Anaconda 解决了这个问题。
似乎 python 版本有问题,Typing.NoReturn
是 python 3.6.2 的新功能。
尝试安装较低版本的 prompt-toolkit,例如 2.0.10。它对我有用:
python3 -m pip install prompt-toolkit==2.0.10
然后重试:
python3 -m ipykernel install --user