远程服务器上配置Jupyter notebook (超详细,踩坑经历)

马上就要美赛了嘛,涉及到跑大量数据,处理复杂的模型

这里我就总结一下如何在只有cmd的情况下使用jupyter notebook

1. 安装jupyter服务

pip install jupyter # 最好用pip3

2. 配置远程访问jupyter

先输入python3进入交互模式 ,见图输入以下内容,设置好密码过后

会自动生成一个Verify password复制保存下来

远程服务器上配置Jupyter notebook (超详细,踩坑经历)_第1张图片

退出交互模式

2.1生成配置文件

在输入以下内容

jupyter notebook --generate-config

就会自动在根目录下生成文件(~/.jupyter/jupyter_notebook_config.py),如果看不到,选项中选择显示隐藏文件

2.2修改配置文件

建议先把jupyter_notebook_config.py文件传输到本地修改完成再上传

找到以下字符串进行修改

c.NotebookApp.ip='*' # 如果这里修过过后启动服务报错 则修改为c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.password=u'sha1****' #就之前保存的验证密码
c.NotebookApp.open_browser =False # 设置是否自动打开浏览器
c.NotebookApp.port =8888  # 设置端口
c.NotebookApp.allow_remote_access = True

3. 启动服务

这里推荐两种

  1. 入门:jupyter notebook --allow-root

    但这种会一直占着窗口,无法执行其他命令

    Ctrl + C 即可结束

  2. 进阶: nohup jupyter notebook --allow-root &

    nohup表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行.

    但要手动结束

    lsof -i : {端口号}

    然后 kill -9 {对应pid} # 9的意思是发送KILL信号,立刻结束,可能会有数据丢失

启动以后在本机 输入http://{服务器ip}:8888 进行访问

第一次进入要输入之前设置的密码,但为了效率见第4步

如果以上正常设置了过后还是不能远程范围,到自己服务器安全组里面设置端口 这里我用阿里云进行演示,见图
远程服务器上配置Jupyter notebook (超详细,踩坑经历)_第2张图片
这样就ok了

4. 安装增强功能(自动补全之类)

在终端中依次执行以下4行代码

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

执行完成以后,重启jupyter,即可看到附加项
远程服务器上配置Jupyter notebook (超详细,踩坑经历)_第3张图片

你可能感兴趣的:(Python,Linux)