gpt4 book ai didi

python - Jupyter 命令仅适用于破折号(例如 jupyter-kernelspec 而不是 jupyter kernelspec)

转载 作者:太空狗 更新时间:2023-10-29 21:51:48 27 4
gpt4 key购买 nike

我将 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% 添加任何其他内容?我错过了什么吗?

我也在 Github 上针对这一点提出了一个问题,但不幸的是它没有得到任何关注:https://github.com/jupyter/jupyter/issues/381

最佳答案

好吧,我知道出了什么问题。使用 shutil 模块,在某些 Windows 版本中 which('jupyter-kernelspec') 返回 None,因为缺少 .exe ,尽管 PATHEXT 环境变量同时包含 .exe.EXE

(这似乎与此有关:shutil.which() not finding programs without appending file extension 虽然我不相信,因为使用 shutilwhich(jupyter-kernelespec.EXE) 对我来说效果很好。 ..)

因此,必须将 .exe 添加到 jupyter 的参数中,如下所示:

jupyter kernelspec.exe list

因为大多数 Jupyter 内核安装程序都使用这种命令,所以您并不总是能够调试并检查需要添加它的位置。修复包括添加这个:

if cmd[-4:] != '.exe':
cmd = cmd + '.exe'

就在这一行之前: https://github.com/jupyter/jupyter_core/blob/f1e18b8a52cd526c0cd1402b6041778dd60f20dc/jupyter_core/command.py#L102

我将尝试向 shutil 模块人员提出这一点。

我还更新了 github 问题并将其关闭。 https://github.com/jupyter/jupyter/issues/381

关于python - Jupyter 命令仅适用于破折号(例如 jupyter-kernelspec 而不是 jupyter kernelspec),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50484397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com