今天上午看了好几个教程,踩了好几个坑,把服务器配置上了jupyter,安上了之后一试用,觉得哇,又好看又方便,一瞬间就入坑了。
之前因为自己的电脑实在带不动上万个单细胞的数据,只能上服务器,结果服务器要想装Rstudio的话需要root权限,我们没有,就忍了一段时间的纯代码。
今天安上了jupyter简直把码代码的舒适度提高了一个数量级啊()
我自己主要参考的一个教程:
https://blog.csdn.net/xushu_me/article/details/104066613
感谢这位老师!!下面的内容有很大一部分基于这位老师的教程,只是在一些自己踩坑的地方做了补充,并且加上了配置R环境的过程。
另外,下文默认服务器上的conda已经妥善安装完成。
哦还有,我自己是Mac电脑,但是好像在这件事情上Mac和Windows差不多来着。
那么就开始啦。
pip3 install jupyter
pip3 install ipython
#生成配置文件
jupyter notebook --generate-config
#会返回一个配置文件的地址
#进入ipyhton
ipython
#按Ctrl+Z退出,然后修改Jupyter配置文件
vim 方才返回的那个配置文件地址,打开它,按i进入编译
#在文件中查找并修改以下条目,然后把这些条目前面的#去掉
c.NotebookApp.ip = '*' # 设置Jupyter监听的ip地址,修改为*表示监听所有ip地址
c.NotebookApp.password = '' # 将引号里面的内容替换为上一步设置密码时生成的Out[2]后面的东西(被我码掉了)
c.NotebookApp.open_browser = False # 禁止启动时自动打开浏览器(本来在桌面平台上安装使用时可以开启,在服务器上不需要此设置,因此设置为False)
c.NotebookApp.port = 1024 # 指定访问的端口,按照自己喜好设定,默认是8888,注意不要和已用端口冲突
c.NotebookApp.notebook_dir = '/Your/Directory' # 设置运行时的目录,因为以root身份运行时默认会在/root目录下,因此最好修改成自己喜欢的目录,例如'/home/jupyter'(最后一条我没找到,不过问题不大)
#然后运行jupyter Notebook
jupyter notebook --no-browser
#不用--no-browser也行
#然后会出现:
(唉……我的服务器里面怎么到处都是我的名字()这个页面被我打码打得面目全非的,手动叹气.jpg)
#之后在本地shell里输入
ssh -N -f -L localhost:8888:localhost:8888 你的服务器账号@服务器地址,有端口的话在前面标注端口(诶前面那个8888要是改了,这儿就不是8888了啊)
#然后输入密码,然后在浏览器里面打开Jupyter Notebook 6.4.10 is running at:后面跟着的那个链接
(能看到嘛,在这个面目全非的图里面唯一幸存的部位)(幸存的只有Jupyter Notebook 6.4.10 is running at:这行字,链接我也码掉了哦)
之后就直接在服务器上输入
jupyter notebook
然后回车,复制Jupyter Notebook 6.4.10 is running at:后面跟着的那个链接在浏览器打开就可以了
(有时候还是连不上去,还需要在本地输入一下)
【jupyter上添加R环境】
jupyter里面默认的是一个python 3的notebook,还可以在jupyter里面配置R环境。
哦首先,我们要先保证在Linux服务器上已经有了一个成熟可爱的R环境
我们这个服务器吧……直接输入R出来的那个环境好像什么包都装不上,所以我的R是配置在conda里的。先来一个怎么在conda里面创建一个R的虚拟环境吧~
【如何在服务器上配置R环境】
conda create -n r #创建名为r的独立运行的环境
source activate r #进入conda下的R环境
conda install -c r-ggplot2 #安装R包,集群上的R包可能跟本地不一样,必要时conda search
输入R(必须大写)进入R编译环境,接下来就跟本地一样了
conda deactivate #退出当前R环境
弄完了R环境我们继续来折腾jupyter:
首先进入R环境:
source activate r
然后输入R(必须大写)进入R编译环境
先安装必要的包:
install.packages(c('repr','IRdisplay','evaluate','crayon','pbdZMQ','devtools','uuid','digest'))
devtools::install_github('IRkernel/IRkernel')
#我用devtools::install_github('IRkernel/IRkernel')报错了,所以退到conda的r环境里
conda install r-irkernel
conda install -c anaconda jupyter_client
#【重要!】这个jupyter_client必须安装在跟R相同的环境里,就如果R配置在conda的r环境里,这个命令也需要在conda的r环境里运行。
【这是我踩的最大的一个坑,其他教程大多没有明确强调这一点】
#然后进入进入R编译环境
IRkernel::installspec()
#运行这个命令的时候我不确定要不要保持jupyter notebook打开
#总之再进入或者刷新jupyter的时候就可以在新建下面看到R环境
大概就是这个样子吧,叉腰。