马上就要美赛了嘛,涉及到跑大量数据,处理复杂的模型
这里我就总结一下如何在只有cmd的情况下使用jupyter notebook
1. 安装jupyter服务
pip install jupyter # 最好用pip3
2. 配置远程访问jupyter
先输入python3进入交互模式 ,见图输入以下内容,设置好密码过后
这里你输入的密码,也是后面登入你服务器jupyter的密码,需牢记!
会自动生成一个Verify password复制保存下来
退出交互模式
2.1生成配置文件
在输入以下内容
jupyter notebook --generate-config
就会自动在根目录下生成文件(~/.jupyter/jupyter_notebook_config.py
),这里可以用vim或者用相关ftp工具下载下来修改再覆盖,或者vscode ssh远程连接直接修改
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. 启动服务
这里推荐两种
-
入门:
jupyter notebook --allow-root
但这种会一直占着窗口,无法执行其他命令
Ctrl + C 即可结束
-
进阶:
nohup jupyter notebook --allow-root &
nohup表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行.
但要手动结束
lsof -i : {端口号}
然后 kill -9 {对应pid} # 9的意思是发送KILL信号,立刻结束,可能会有数据丢失
启动以后在本机 输入http://{服务器ip}:8888
进行访问
第一次进入要输入之前设置的密码,但为了效率见第4步
如果以上正常设置了过后还是不能远程访问,可能有几种情况
- 服务器购买商的安全组没有放行, 这里我用阿里云进行演示,见图
- 如果服务器安装了宝塔,还需要在宝塔中放行
这样就ok了
4. 安装增强功能(自动补全,运行时间之类)
在终端中依次执行以下4行代码
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
执行完成以后,重启jupyter,即可在首页看到附加项
然后进行相应更改,新建相关环境的notebook 可以开心写代码了。