解决Jupyter Notebook与命令行Python环境不一致导致的ImportError

Oliver
Oliver
发布时间:2026-10-13 | 5人浏览过
原创

本文详解解决Jupyter Notebook中模块导入报错而命令行正常的问题。核心原因是两者Python环境不一致。通过sys.executable查看路径,修改kernel.json中的python.exe指向,即可统一环境。另附Mac下jupyter命令找不到时的软链接解决方法。

Jupyter与命令行Python环境不一致问题

该问题通常源于Jupyter Notebook所调用的Python内核与命令提示符(CMD)中使用的Python环境存在差异。

首先,需要在CMD和Jupyter Notebook环境中分别检查当前使用的Python版本及路径。

import sys sys.executable

检查Python路径与修改Kernel配置

若发现两者路径不一致,则需进行下一步操作,即重新配置Jupyter Notebook的Kernel环境。

请在命令行窗口中执行以下命令:

ipython kernelspec list

执行后,系统将列出所有可用的Kernel及其对应的存储文件夹路径。

Available kernels: python2 C:\Users\adrianna\AppData\Roaming\jupyter\kernels\python2 python3 C:\Users\adrianna\AppData\Roaming\jupyter\kernels\python3

找到对应的kernel.json配置文件,将其中的python解释器路径修改为CMD中检测到的正确Python路径。


{
 "display_name": "Python 2", 
 "language": "python", 
 "argv": [
 "D:\\Anaconda2\\python.exe", 
 "-m", 
 "ipykernel", 
 "-f", 
 "{connection_file}"
 ]
}

Mac系统下Jupyter命令不可用的解决方案

补充知识:在macOS终端中启动Jupyter时可能遇到的安装问题。

测试系统环境为macOS Catalina。

使用pip3工具安装了jupyter相关组件。

$ pip3 install jupyterlab

然而,当在终端中输入启动命令时:

$ jupyter notebook

系统提示无法找到该命令。

这通常是什么原因导致的呢?

这是由于系统环境变量未包含jupyter的可执行文件目录所致。

此处简要说明一种快速修复该问题的方法。

定位Jupyter安装路径与创建软链接

第一步:确定jupyter的实际安装位置。

打开terminal,输入python3并回车进入交互模式。

$ python3 Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information.

导入sys模块以获取路径信息。

>>> import sys

打印sys.path列表以查看Python搜索路径。

>>> print(sys.path)

终端输出的结果如下所示:

['', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/mac/Library/Python/3.7/lib/python/site-packages', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/setuptools-40.8.0-py3.7.egg', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip-19.0.3-py3.7.egg', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/incremental-17.5.0-py3.7.egg', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/Twisted-18.9.0-py3.7-macosx-10.9-x86_64.egg']

根据输出路径,可定位到jupyter的可执行文件位于:/Library/Frameworks/Python.framework/Versions/3.7/bin/jupyter。

创建一个软链接,将其指向/usr/local/bin/目录,以便系统能全局识别该命令。

$ ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/jupyter /usr/local/bin/jupyter

再次打开terminal,尝试输入:

$ jupyter notebook

此时即可成功启动Jupyter Notebook。

以上即为解决Jupyter Notebook中ImportError但命令行导入正常问题的完整方案,以及Mac下jupyter命令不可用的快速修复技巧,希望对读者有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表