科研工具 | 本地远程使用服务器的Jupyter Noteboo
2018-09-29 本文已影响0人
与阳光共进早餐
一、写在前面
未经允许,不得转载,谢谢~~
很久没有更新博客了ヾ(◍°∇°◍)ノ゙
这篇主要是关于科研中对于用本地电脑远程使用服务器上面的Jupyter Notebook的配置记录。
我们都知道Jupyter Notebook是一个很好用的交互式的代码编辑器,可以支持python、markdown等多种语言,特别是对于处理实验结果非常有帮助,但是服务器由于没有图形界面,而为了避免本地机器也要配置相关环境以及文件同步的烦恼,我们就可以配置远程使用服务器上的Jupyter Notebook,就是素有实际的程序运行都在服务器端,但界面显示在本地。
二、具体配置过程
1. 安装Jypyter Notebook
- 在服务器上安装,本文用conda的方式来管理;
- 执行指令:
conda install jupyter
- 安装完成后查看版本:
jupyter --version
- 能成功看到版本号就安装成功啦~~
2. 生成配置文件
- 执行指令:
jupyter notebook --generate-config
-
如下所示:
- 可以看到配置文件的名字为:
jupyter_notebook_config.py
,后面需要再配置这个文件;
3. 生成秘钥
- 打开python3
- 输入:
from IPython.lib import passwd
passwd()
-
然后设置密码之后会得到一组生成的秘钥
- 把生成的秘钥复制下来,
'sha1:8ab8caa21bff:bc891ca676530bedc0dc7f7c545ae610b01e45fd'
4. 修改默认配置文件
- 这个时候就需要修改之前第2步中的配置文件了;
- 在终端输入:
vim ~/.jupyter/jupyter_notebook_config.py
, 对文件进行编辑; - 在文件末尾添加以下语句:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8889
c.IPKernelApp.pylab = 'inline'
- 其中,
c.NotebookApp.port =8889
中的端口号可以随意指定;
5. 服务器端启动jupyter
- 终端输入指令:
jupyter notebook
-
如下所示:
- 可以看到给出的提示:
The Jupyter Notebook is running at: http://[all ip addresses on your system]:8889/
- 即在本地机器使用
http://[all ip addresses on your system]:8889/
即可访问服务器上的jupyter程序
三、使用效果
-
如下所示:
- 这样每次都可以再本地打开了。
- 使用之前会放你输入之前设置过的密码;
- 另外运行之前需要在服务器上启动jupyter程序;
-----------------------20181229更新---------------------
四、 jupyter 选择conda虚拟环境
- 需求所在
我们可能需要配置多个虚拟环境来运行自己的程序,那怎么样在虚拟环境在运行jupyter notebook呢~ - 操作步骤
- 激活对应的虚拟环境:
source activate 环境名称
- 安装
conda install ipykernel
; - 将环境写入notebook的kernel中:
python -m ipykernel install --user --name 环境名称 --display-name "Python (环境名称)"
- 然后打开notebook:
jupyter notebook
- 然后把对应文件的kernel---> change kernel修改一下,改成刚刚配置好的。(这一步折腾了好久才发现(⊙o⊙)…)
- 这样就可以啦
- 激活对应的虚拟环境:
五、参考文献
非常感谢以下博主的文章: