首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nyaplot在jupyterhub中运行的iruby中不会生成绘图

Nyaplot在jupyterhub中运行的iruby中不会生成绘图
EN

Stack Overflow用户
提问于 2017-06-15 03:04:39
回答 1查看 268关注 0票数 5

我正在尝试在现有的多用户jupyterhub安装中设置一个Ruby内核。它在我的所有测试中都可以工作,除了nyaplot (我能找到的唯一在iruby中工作的绘图包)创建的绘图不会显示在笔记本中。例如,以下代码(来自Nyaplot教程之一)没有给出错误(甚至在syslog文件中也没有),但没有给出绘图:

代码语言:javascript
复制
require 'nyaplot'
plot = Nyaplot::Plot.new
sc = plot.add(:scatter, [0,1,2,3,4], [-1,2,-3,4,-5])
color = Nyaplot::Colors.qual
sc.color(color)
plot.show # show plot on IRuby notebook

背景:

下面是如何设置iruby在jupyterhub中运行的。我给出了整个过程,这样(a)你可以发现是否有什么东西丢失了,(b)所以你知道如果你说"add this to the Gemfile“这样的话,你必须告诉我把Gemfile放在哪里,因为jupyterhub没有在特定的目录中运行iruby。

操作系统为CentOS 7.3。由于ruby的默认版本太旧,无法运行iruby,所以我使用ruby -install安装了一个版本的ruby:

代码语言:javascript
复制
wget -O ruby-install-0.6.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.6.1.tar.gz
tar -xzvf ruby-install-0.6.1.tar.gz 
cd ruby-install-0.6.1
make
make install
ruby-install ruby 2.3.4

(我使用的是ruby 2.3,而不是2.4,因为事实证明,sciruby-full至少有一个组件还不能与2.4兼容。)安装完成后,会显示一条消息,说明ruby已安装在/opt/rubies/ruby-2.3.4中。

接下来是包安装。

我必须确保我的主目录中没有安装任何内容,因为在多用户系统中,其他用户无法访问我的主目录的文件。为了解决这个问题,我在下面列出了我最终安装的所有包:

代码语言:javascript
复制
export RUBYDIR=/opt/rubies/ruby-2.3.4
export PATH=${RUBYDIR}/bin:$PATH
export LD_LIBRARY_PATH=${RUBYDIR}/lib:$LD_LIBRARY_PATH
export GEM_HOME=${RUBYDIR}
export GEM_PATH=${RUBYDIR}
gem install --no-user-install cztop rbczmq iruby
gem install --no-user-install pry pry-doc awesome_print gnuplot rubyvis nyaplot
gem install --no-user-install sciruby-full
gem install --no-user-install zeromq ffi-rzmq gnuplotrb

接下来是将iruby内核安装到jupyterhub中。

在查看了"iruby register --force“的结果之后,

我创建了文件/usr/local/share/jupyter/kernels/ruby

代码语言:javascript
复制
{"argv":[
         "/usr/local/bin/jupyter-ruby-env.sh",
         "{connection_file}"
          ],
 "display_name":"Ruby",
 "language":"ruby"
}

在/usr/local/bin/jupyter-ruby-env.sh中:

代码语言:javascript
复制
#!/usr/bin/bash -l                                                                                                                                    
export RUBYDIR=/opt/rubies/ruby-2.3.4
export PATH=${RUBYDIR}/bin:$PATH
export LD_LIBRARY_PATH=${RUBYDIR}/lib:$LD_LIBRARY_PATH
export GEM_HOME=${RUBYDIR}
export GEM_PATH=${RUBYDIR}
exec ${RUBYDIR}/bin/iruby kernel $@

正如我所说的,就基本的ruby而言,所有这些都是有效的:我可以运行我在Ruby教程中找到的代码。我唯一不明白的就是情节。我安装的所有其他jupyterhub内核(例如,python、SageMath、Julia)在绘图方面都没有问题。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-13 23:18:08

我对JupyterHub了解不多。但是Nyaplot已经有好几年没有更新了。

如果您想在iruby中生成绘图,请尝试以下项目。

以下项目是试验性的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44552756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档