我是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,但错误信息不同。
答案 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
希望这有助于某人!