我发现问题是 jupyter notebook 内核指向了错误的地方。这是我整理的一个小指南,以帮助遇到同样问题的其他人:(这适用于 Windows - 可能适用于其他操作系统)
进入 anaconda 提示符(基本模式)并输入:
jupyter kernelspec list
这应该给你这样的东西:
C:\Users\{username}\AppData\Roaming\jupyter
或这个:
C:\Users\{username}\anaconda3\share\jupyter\kernels\python3
如果它给你前者,那么你的内核指向错误的地方。
如果您打开 kernel.json 文件,您将看到默认的 jupyter 内核指向的位置。它看起来像这样:
{
"argv": [
"C:/Users/{username}/anaconda3\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
以前“C:/Users/{username}/anaconda3\python.exe”指向我的文档文件夹中的环境(错误的位置)。由于某种未知原因,这是默认设置!我必须卸载所有内容,删除所有环境,然后删除 AppData\Roaming\Jupyter 文件夹中的上述 jupyter 文件夹。
完成所有这些之后,我再次安装了 anaconda,anaconda 通过在正确的位置创建它来整理内核。
完成此操作后,您可以再次打开 anaconda 提示符并再次使用此命令查看 jupyter 内核指向的位置:
jupyter kernelspec list
它应该指向这样的东西:
C:\Users\ {你的用户名在这里}\anaconda3\share\jupyter\kernels\python3
对我有帮助的有用链接:
https://github.com/jupyter/jupyter/issues/270
https://github.com/jupyter/notebook/issues/1477
将 Jupyter kernelspec 更改为指向 anaconda python
此外,如果您在 jupyter 中遇到包的导入问题,则可能是由此引起的。我在导入 seaborn 和 statsmodels 时遇到了问题,问题出在 jupyter 内核上,而不是包上!软件包已安装,但内核指向错误的环境,所以当我打开 jupyter 时,它一直在运行没有 seaborn 和 statsmodels 的环境,而不是我要求它打开的环境!
在 jupyter 中,您可以键入:
import sys
print(sys.executable)
这将告诉您 jupyter 指向哪个环境。就我而言,它指向另一个环境,而不是我使用 anaconda 提示符打开的环境。
希望这可以帮助!