【原创实践】在 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

相关推荐
零基础的修炼2 小时前
Linux网络---UDP原理
linux·网络·udp
苏宸啊10 小时前
Linux权限
linux·运维·服务器
xqhoj10 小时前
Linux——make、makefile
linux·运维·服务器
张童瑶10 小时前
Linux 在线安装编译Python3.11
linux·运维·python3.11
Shi_haoliu11 小时前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
Lkygo11 小时前
LlamaIndex使用指南
linux·开发语言·python·llama
qq_2546177711 小时前
nslookup 这个命令解析dns,和系统接口gethostbyname解析区别在哪?
linux·网络
HIT_Weston12 小时前
100、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(一)
linux·运维·ubuntu
自由的好好干活13 小时前
UBI镜像文件打包与编辑
linux·嵌入式硬件