关于r:jupyter-client必须安装,但是” jupyter kernelspec –version”退出,代码为127

jupyter-client has to be installed but “jupyter kernelspec --version” exited with code 127

我已经在ubuntu 16.04机器上安装了Jupyter笔记本电脑。在jupyter笔记本中,默认情况下安装了python。现在我想从jupyter笔记本中使用R。

为此,我遵循IRkernel安装链接并运行以下命令:

1
2
3
install.packages('devtools')

devtools::install_github('IRkernel/IRkernel')

但是当我跑步时
IRkernel::installspec()命令,它显示以下错误:

jupyter-client has to be installed but a€?jupyter kernelspec --versiona€? exited with code 127

我现在很困惑为什么会发生此错误。


从RStudio运行此命令将显示此错误。当您从命令行/终端运行此命令时,一切都会好起来。

因此只需从命令行输入R

然后运行以下命令:

1
2
3
install.packages('devtools')

devtools::install_github('IRkernel/IRkernel')

enter

1
IRkernel::installspec()


  • 如果安装了Anaconda并附带了Jupyter-Notebook(应为标准安装),请打开Anaconda提示符,而不是Windows命令提示符或Anaconda Navigator。
  • 查找R的可执行文件(不是Rgui或Rstudio),它应位于C:\\\\\\\\ Program Files \\\\
    \\\\
    -3.5.1 \\\\\\\\\\ bin并记住路径键入
    cd C:\\Program Files\
    \
    -3.5.1\\bin
    并通过键入R来启动R
  • 输入IRkernel::installspec()
  • 现在您可以在Jupyter-Notebook中启动R内核

  • 在某些Windows系统上,即使从cmd / powershell运行R也可能不会成功。我的机器上就是这种情况。我的解决方法是从Anaconda Prompt运行R(如果您是通过Anaconda安装Jupyter)。如果R不在PATH上,则可能需要指定完整路径。

    我认为这是与PATH有关的一些问题,但是我对将Anaconda\\Lib\\site-packages\\jupyter_client添加到系统PATH中没有运气。


    我已经解决了这个问题:

    sudo ln -s / home / \\'我的用户名\\'/ anaconda3 / bin / jupyter / usr / bin / jupyter


    我试图在Windows计算机上安装IRkernel。从R:

    中运行时,我遇到了类似的问题

    1
    2
    3
    > IRkernel::installspec(user = FALSE)
    Error in IRkernel::installspec(user = FALSE) :
      jupyter-client has to be installed but a€?jupyter kernelspec --versiona€? exited with code 1.

    我没有使用conda在计算机上安装Jupyter,而是使用pip。我安装了一些在后台使用python的程序。这意味着我的机器上有多个Python实例,也有更多的Jupyter实例。为了确保我引用了正确的Jupyter实例,我这样做是:

    1
    2
    3
    > setwd('C:/usr/lib/Python36-32/Scripts')
    > IRkernel::installspec(user = FALSE)
    [InstallKernelSpec] Installed kernelspec ir in C:\\ProgramData\\jupyter\\kernels\\ir

    除了Python,我现在还可以在笔记本中使用R。


    这里是克服此问题的一种方法。我已经在Mac中安装了带有Anaconda的IRkernel(我猜在Linux上也是一样)。下面的命令在Windows上也可以运行在Anaconda shell上,并在y / n提示符后按y(您也可以参考https://medium.com/@kyleake/how-to-install-r-in-jupyter-with -irkernel-in-3-steps-917519326e41)

    我键入了:

    1
    conda install -c r r-irkernel

    然后我开始开始输入R:

    1
    R

    最后,我已经安装了kernelspec来向Jupyter讲述IRkernel,并带有用于在全局环境中安装的选项user = FALSE:

    1
    IRkernel::installspec(user=FALSE)

    希望有帮助!


    我遇到了同样的错误,但是在我的情况下,我在虚拟环境中安装了jupyter,因此为了使IRkernel :: installspec()成功,我必须在安装虚拟环境后启动R。


    为任何在此问题上谷歌搜索或陷入困境的人添加此内容可能会受益于此简单的学习。我遇到了与上述相同的错误,请按照上面的说明进行操作(在终端中启动R时):

    1
    2
    3
    IRkernel::installspec()
    Error in IRkernel::installspec() :
        jupyter-client has to be installed but a€?jupyter kernelspec --versiona€? exited with code 127.

    在Bash中,我跑了:

    1
    2
    Mac-Pro:~ $ jupyter kernelspec --version
    -bash: jupyter: command not found

    Du,我没有安装Jupyter。使用以下命令安装Jupyter(在Mac上,使用brew):brew install jupyter。其他操作系统的安装说明可以在这里找到。

    现在一切正常。


    我有相同的错误,但解决方法不同:

    确保您的系统上还安装了anaconda! (或至少jupyter)
    https://conda.io/docs/user-guide/install/index.html


    对于Windows用户,安装anaconda后,应重新启动系统,以便在启动时出现Anaconda提示符。打开Anaconda Prompt后,输入

    IRkernel :: installspec()

    这一次它将起作用,因为我认为重新启动要升级系统的\\'cuz PATH。


    对于Mac用户:

    我遇到了同样的问题。您应该在终端通过R调用IRkernel::installspec(user = FALSE)。我用这种方法解决了,我敢打赌,您可以做同样的事情:

  • 在R控制台中调用R.home()
  • 您将得到[1]"/Library/Frameworks/R.framework/Resources"
  • /bin/R添加到路径n中,如下所示:/Library/Frameworks/R.framework/Resources/bin/R
  • 在终端中,粘贴此路径/Library/Frameworks/R.framework/Resources/bin/R并输入。
  • 现在,您在终端中使用R。致电IRkernel::installspec(user = FALSE)
    然后应解决。

  • 在尝试在Jupyter中安装我的环境作为内核时遇到了相同的错误。首先,我创建了一个新环境,在conda提示符下安装了R,IRkernel和devtools,然后运行R在提示符下键入R并键入

    1
    IRkernel::installspec(name = 'myenvname', displayname = 'myenvname')

    我有同样的错误。
    我就是这样解决的:

    1
    conda install -c anaconda jupyter_client

    然后重新键入刚刚起作用的先前代码。


    我有同样的问题;我在?/ .bashrc(和source)中添加了以下内容,然后尝试运行IRkernel::installspec()并成功运行:

    1
    export PATH="~/anaconda3/bin:$PATH"

    我不使用conda-我安装了python虚拟env和R。
    我不知道这是否重要,但是我正在ubuntu for Windows(WSL)上运行(可能是导致我出错的原因,可能无关)。
    在控制台中,它识别出jupyter。在R控制台中,我安装了IRkernel,但是IRkernel :: installspec()给了我上面的错误(无法识别jupyter)。
    我找不到可行的解决方案,所以我在这里写了为我解决的解决方案。
    我在这里找到installspec的内部。
    请先检查您的jupyter在哪里安装了which jupyter
    并从命令行运行R。
    然后,运行以下代码(从上面的链接调整):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     srcdir <- system.file('kernelspec', package = 'IRkernel')
     tmp_name <- tempfile()
     dir.create(tmp_name)
     file.copy(srcdir, tmp_name, recursive = TRUE)
     spec_path <- file.path(tmp_name, 'kernelspec', 'kernel.json')
     library(jsonlite)
     spec$argv[[1]] <- file.path(R.home('bin'), 'R')
     spec$display_name <- 'R'
     write(toJSON(spec, pretty = TRUE, auto_unbox = TRUE), file = spec_path)
     args <- c('kernelspec', 'install', '--replace', '--name', 'ir', file.path(tmp_name, 'kernelspec'))
     system2('/path/to/jupyter', args)  <--- here you copy paste the path you got earlier with pwd
     unlink(tmp_name, recursive = TRUE)

    我正在运行Ubuntu 18.04.4,其中R安装在/ usr / bin / R中,Python安装在/ home / ubuntu / anaconda3 / bin / python中。当试图告诉Jupyter在哪里为我的R安装找到内核时,我遇到了许多与路径有关的问题。无论我如何运行R,IRkernel :: installspec()都无法在R中运行。通过在命令行中使用jupyter kernelspec建立连接,我找到了成功。特别是这对我有用。

    在R内:

    1
    2
    3
    install.packages("devtools")
    devtools::install_github("IRkernel/IRkernel")
    system.file('kernelspec', package = 'IRkernel')

    最后一行应为您提供Jupyter查找内核所需的位置。我的是/home/ubuntu/R/x86_64-pc-linux-gnu-library/4.0/IRkernel/kernelspec

    从命令行:

  • 检查您在R时收到的路径。
    是其中的.json文件。
  • jupyter kernelspec list(运行为
    确保jupyter在您的路径中,您应该看到有关
    当前可用的内核。
  • jupyter kernelspec install /home/ubuntu/R/x86_64-pc-linux-gnu-library/4.0/IRkernel/kernelspec --name 'R' --user(您将使用在R中工作时收到的路径,该路径可能不同)
  • jupyter kernelspec list(此列表现在应包含R)
  • 重新启动jupyter

  • 我遇到了同样的问题,但是以上解决方案都不适合我。我将Debian 9与python和R的默认版本一起使用。我必须删除已安装的程序,并从源代码中编译这两个程序的最新版本。对于Python编译,我必须使用此配置https://github.com/sloria/TextBlob/issues/173


    假设您已经在终端中运行了R。您可以先调用library('IRkernel'),按Enter,然后调用installspec()installspec(user=FALSE)

    对我来说,简单地调用IRkernel::installspec()总是会引发您在问题中提到的错误。我不知道为什么我在centos服务器上解决了此问题。