我正在使用Jupyter和Anaconda3。
我的Anaconda3\
和Anaconda3\Scripts\
个文件夹已添加到%PATH%
变量中。
虽然jupyter.exe
位于上面的Scripts
文件夹中,但Jupyter相关命令在没有破折号的情况下无效。
例如:
jupyter kernelspec --version
Error executing Jupyter command 'kernelspec': [Errno 'jupyter-kernelspec' not found] 2
带破折号的相同命令有效:
jupyter-kernelspec --version
5.2.2
同样适用于jupyter-notebook
等。
我是否必须向%PATH%
添加任何其他内容?我错过了什么吗?
PS:这可能与下面的问题相同,但目前尚不清楚。我在评论中询问是否确实是这种情况:
答案 0 :(得分:4)
好吧,我弄清楚出了什么问题。在某些Windows版本中,shutil
使用which('jupyter-kernelspec')
模块会返回None
,因为缺少.exe
,尽管PATHEXT
环境变量同时包含{{1} }和.exe
。
(这似乎与此相关:shutil.which() not finding programs without appending file extension,尽管我不相信,因为使用.EXE
的{{1}}对我来说很好...)
因此,必须这样将which(jupyter-kernelespec.EXE)
添加到shutil
的参数中:
.exe
由于大多数Jupyter内核安装程序都使用这种命令,因此您将无法始终进行调试并检查需要在何处添加它。 该修补程序包括添加以下内容:
jupyter
我将尝试与jupyter kernelspec.exe list
个模块人员提出这一点。
我也更新了github问题并关闭了它。 https://github.com/jupyter/jupyter/issues/381
答案 1 :(得分:0)
您的PATHEXT
环境变量末尾有分号吗?如果是这样,则可能与您在答案中提到的类似问题中描述的问题相同:shutil.which() not finding programs without appending file extension
从PATHEXT
中删除任何结尾的分号,然后重试。