【问题标题】:iRuby kernel keeps getting killediRuby内核不断被杀死
【发布时间】:2017-02-08 11:14:28
【问题描述】:

我是 macOS Sierra 10.12.3 上使用 Homebrew 的 Ruby。我用 pip install 安装了 jupyter,用 gem install 安装了 iruby

当我运行iruby notebook 时,服务器启动正常,但在创建新笔记本时,内核总是被以下日志杀死。

/usr/local/lib/ruby/gems/2.4.0/gems/iruby-0.2.9/lib/iruby/kernel.rb:18:in `initialize': uninitialized constant IRuby::Kernel::Session (NameError)
    from /usr/local/lib/ruby/gems/2.4.0/gems/iruby-0.2.9/lib/iruby/command.rb:70:in `new'
    from /usr/local/lib/ruby/gems/2.4.0/gems/iruby-0.2.9/lib/iruby/command.rb:70:in `run_kernel'
    from /usr/local/lib/ruby/gems/2.4.0/gems/iruby-0.2.9/lib/iruby/command.rb:34:in `run'
    from /usr/local/lib/ruby/gems/2.4.0/gems/iruby-0.2.9/bin/iruby:5:in `<top (required)>'
    from /usr/local/bin/iruby:22:in `load'
    from /usr/local/bin/iruby:22:in `<main>'

我见过其他question,但错误信息有所不同。

【问题讨论】:

    标签: ruby jupyter-notebook jupyter iruby


    【解决方案1】:

    我发现在带有 Gemfile 和 mentioned in this issue 的项目文件夹中运行 iRuby 时出现了这个特定错误。启动 iruby 以运行 register 命令以及将库添加到 Gemfile 时,您可能还会看到警告。

    在您的 Gemfile 中同时添加 irubyffi-rzmq

    gem 'iruby'
    gem 'ffi-rzmq'
    

    然后运行:

    $ bundle install
    

    全部安装完毕,继续运行iruby:

    $ iruby notebook
    

    启动 iruby 后,您应该会看到一个没有 未初始化常量 IRuby::Kernel::Session (NameError) 错误的日志,以及一个没有死掉的内核。

    即使您可能不需要,但如果由于某种原因您仍然遇到问题,则可能值得在捆绑后重新注册内核:

    $ iruby register --force
    

    希望这对某人有所帮助!

    【讨论】:

      【解决方案2】:

      我不确定内核为什么会死掉,但我怀疑它与 zeromq 套接字接口有关。在我的 Mac 上,我已确认以下操作正常:

      也许 brew、ruby 和 python 安装了一个单独的 zeromq 实例。

      IRuby 0.2.9
      红宝石 2.1.0
      自制 1.1.12

      我没有时间调查它。

      【讨论】:

        【解决方案3】:

        iRuby documentation at github 建议使用 Anaconda 并使用 rbenv 将 Ruby 环境设置为 2.4.1。我在试验 iRuby 内核时遇到了同样的问题。

        来自自述文件:

        苹果机

        我建议使用 Anaconda 进行安装。

        之后,运行以下命令。

        brew install rbenv automake gmp libtool wget
        rbenv install 2.4.1
        rbenv global 2.4.1  
        echo 'eval "$(rbenv init -)"' >> ~/.bashrc
        source ~/.bashrc
        brew install zeromq
        brew install czmq --HEAD
        gem install cztop iruby
        iruby register --force
        

        【讨论】:

        • 为什么不在您的答案中直接提供确切的代码和演练?
        • 我不知道正确的礼仪是什么。
        猜你喜欢
        • 2014-10-20
        • 1970-01-01
        • 2013-04-29
        • 1970-01-01
        • 2013-04-24
        • 2013-04-20
        • 1970-01-01
        • 2022-11-27
        • 2017-06-17
        相关资源
        最近更新 更多