1. 问题引入
使用Anaconda创建的Python环境,直接安装jupyter。然而会出现内核挂掉的问题。-
- 进入jupyter;
- 发现右上角kernel内核挂掉。主要矛盾是win32api无法正常导入;
- 在Python交互环境中测试再次证明。
查看命令行得知:
的确是缺少win32api这个第三方库。
2. 解决方法
- 先排除未安装win32api的问题:
activate你的Python环境后安装:
1
2pip install pywin32
pip install pypiwin32 - 若第一步已完成而问题仍复现,则要手动安装:
-
- 找到你的Python环境。通常可以在刚刚jupyter进入Python3 file右上角内核挂掉提示中查看报错的log,其中会有你当前安装jupyter的路径。通过它不难找到我们当前出问题的Python环境地址;
- 在当前Python环境地址下找到pywin32_postinstall.py。你可以在Windows文件管理器的右上角搜索或者直接键入快捷键Ctrl+F搜索"pywin32_postinstall.py"。
- 通过cmd,cd到pywin32_postinstall.py目录下,执行手动安装指令:
1
python pywin32_postinstall.py -install
直到提示“The pywin32 extensions were successfully installed.”,并且能够成功注册(Registered)。;
- cmd进入Python交互环境测试是否能够正常导入。
- 打开jupyter测试成功。
-
3. 小结
使用anaconda创建多个环境的时候必须注意,假设此时你创建的环境名称为A,尽管你使用A的Python环境独立安装了jupyter,但出问题的环境路径不一定是A,有可能是B、C、D...,这需要我们动态观察,特别要注意的是,在解决方法中的2.3步,提示“The pywin32 extensions were successfully installed.”不代表可行,还需要成功注册。注册失败案例如图所示:尽管提示成功安装,但是jupyter仍然不能重新启动。这需要我们观察jupyter命令行查看出问题的路径在什么地方并针对性解决。