iRuby内核不断被杀

时间:2017-02-08 11:14:28

标签: ruby jupyter-notebook jupyter iruby

我是Ruby with Homebrew on macOS Sierra 10.12.3。我用pip install和iruby安装了jupyter和gem install

当我运行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,但错误信息不同。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

IRuby 0.2.9
Ruby 2.1.0
Homebrew 1.1.12

我没有时间去研究它。

答案 2 :(得分:0)

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

在Gemfile中添加 iruby ffi-rzmq

gem 'iruby'
gem 'ffi-rzmq'

然后运行:

$ bundle install

安装完毕后,再继续运行iruby:

$ iruby notebook

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

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

$ iruby register --force

希望这有助于某人!