如何在Jupyter notebook中使用ruby gems?

qaxu7uf2  于 2023-06-05  发布在  Ruby
关注(0)|答案(2)|浏览(172)

我在网上找遍了都没有答案。有人知道如何在Jupyter notebook中使用ruby gems吗?我试了require'byebug'require 'pry',没有用。
当我尝试require 'byebug'时,我得到这个错误:

***无源文件可用于(pry)

当我尝试require 'pry'时,出现以下错误:
From:(pry)@ line 923 Object#divide:
我使用的是本地笔记本,当然不是云版本。
编辑:我甚至尝试在需要byebugx 1 m4n1x时设置绝对路径。

ktca8awb

ktca8awb1#

我也有这个问题。我遇到这个问题是因为我用ruby-2.3.0安装了iruby,内核崩溃了,因为我没有所需的gem rbczmq。长话短说,我不得不安装Ruby版本2. 3. 3并复制我的gemset,并确保Iruby注册了我正在使用的正确版本。
1.检查你使用的是什么版本的ruby rvm list在这里你需要仔细检查你使用的是你认为你可以用rvm use ruby-x.x.x更改为正确的版本。
1.一旦你决定了一个ruby版本,检查你使用的宝石。rvm gemset list会告诉你什么是可用的。
1.使用gem list确保gem在您正在使用的gem集中。记住每一个宝石都是全新的,当你安装一个新的ruby版本时,它们不会自动被复制。
1.(可选)复制您使用rvm gemset copy ruby-2.3.0 ruby-2.3.3的gemset,或者您可以只安装您想要的gem。
1.确保Jupyter(Iruby)使用的是正确的版本。同样,它可以在不同的版本中查看,在这种情况下,宝石实际上不在该宝石组中。使用iruby notebook启动笔记本,在新标签下检查它应该有你期望的ruby版本,如果没有,你需要退出iruby,运行iruby register --force,然后再试一次。
这对我很有效,希望能有帮助。

oug3syen

oug3syen2#

确保您想要的gem在shell/环境中是可访问的,在那里您启动comand 'jupyter notebook',因为它将继承那个Ruby环境(即使您已经通过iruby register注册了Ruby版本)

  • 在相同的shell/环境中,启动jupyter notebook并运行'irb -r byebug'。注意如果你也使用rbenv或rvm,你需要在启动jupyter notebook之前进入那个环境。
  • 如果没有,请安排宝石可用。根据您的工作环境,可以只是'geminstall',或'bundleinstall',然后再次验证

以bundle为例。

# Gemfile
require 'byebug'
require 'pry'

% bundle install # To download and install

# Verify no error on command line (terminal)
$ bundle install
$ irb -r byebug -r pry
irb(main):001:0>

# Within Jupyter N
require 'byebug'
require 'pry'

如果你有不同的rbenv/rvm和不同的gemset,在那个环境下启动的jupyter notebook只会看到那个专用的gemset。这类似于jupyter在不同的conda环境下启动。

相关问题