【原创实践】在 CentOS 上安装 JupyterHub 并配置 R 语言支持 Kernel

本文详细介绍了在Linux系统上安装R语言编译环境及配置Jupyter内核的完整流程。首先通过yum命令安装必要的开发工具包(如gcc、zlib-devel等),然后下载并编译最新版R源码,配置安装路径。接着安装IRkernel包实现R与Jupyter的集成,并测试验证绘图功能(Cairo、wordcloud2等包)。最后通过示例代码展示了R在Jupyter中的图形输出效果,包括基础绘图和词云可视化。整个过程涵盖了从环境搭建到实际应用的完整链路,为数据分析和可视化提供了开箱即用的解决方案。

1 安装编译环境

按需安装

复制代码
yum -y install gcc
yum install glibc-headers
yum install gcc-c++
yum install gcc-gfortran
yum install readline-devel
yum install libXt-devel
yum install zlib-devel
yum  install cairo* libxt*

简易安装

复制代码
yum -y install gcc bzip2-devel xz-devel.x86_64 libXt-devel readline-devel  gcc-gfortran gcc-c++ glibc-headers  zlib-devel cairo* libxt*

yum install libpng-devel libtiff-devel libjpeg-turbo-devel pango-devel libpng-devel -y

wget https://cran.r-project.org/src/base-prerelease/R-latest.tar.gz

tar zxvf R-latest.tar.gz

cd R-patched/

./configure --prefix=/usr/local/R --enable-R-shlib

make

make install

ln -s /usr/local/R/lib64/R/bin/R /usr/bin/R

install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')
复制代码
IRkernel::installspec(user = FALSE)

install.packages("Cairo")

install.packages("plotly")

install.packages("showtext")

install.packages("wordcloud2")

测试

复制代码
R
capabilities()
复制代码
jupyter kernelspec list
复制代码
#cp -R /root/.local/share/jupyter/kernels/ir /usr/local/share/jupyter/kernels/

Demo 代码

复制代码
library(Cairo)
CairoPNG(file="out.png",width=800,height=480)
plot(1:10,col="red",pch=15,cex=2)
复制代码
library(wordcloud2)
wordcloud2(demoFreqC, size = 2, fontFamily = "微软雅黑",  color = "random-light", backgroundColor = "grey")  


参考链接

https://irkernel.github.io/installation/#binary-panel

https://github.com/IRkernel/IRkernel/issues/388

http://r1.fens.me/第一章/fortunes记录R语言的大智慧.html

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xy123061 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
崔小汤呀4 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端