本地访问远程的jupyter notebook
1. 安装 jupyter notebook 和 ipykernel
注意:如果想在新建的虚拟环境中运行,需要将环境写到notebook的kernel中:
- # 1.激活需要的环境
- # 2.运行以下命令:
python -m ipykernel install --user --name 环境名称 --display-name "显示名称"
# 显示名称会显示在打开的notebook的右上角,一般和环境名称相同即可
这样可以在新建notebook时选择环境,也可以在已有的notebook中更换环境
2. 生成配置文件jupyter_notebook_config.py
为了生成配置文件,需要使用下面的jupyter命令:
$ jupyter notebook --generate-config
此时就会得到一个配置文件,其默认路径一般如下所示:
- Windows:C:\Users\USERNAME.jupyter\jupyter_notebook_config.py
- OS X:/Users/USERNAME/.jupyter/jupyter_notebook_config.py
- Linux或ubantu:/home/USERNAME/.jupyter/jupyter_notebook_config.py
3.设置登录密码
- 自动设置
在jupyter5.0以后的版本,可以使用jupyter notebook password来设置密码:
$ jupyter notebook password
Enter password: yourcode #输入密码
Verify password: yourcodeagain #再次输入密码确认
#运行后结果
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json #密码被保存的位置 ~/.jupyter/jupyter_notebook_config.json
- 手动设置(强烈推荐)
先在终端输入:ipython,创建一个密钥

In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'
生成完毕后,输入exit(),退出编辑页面。
4.手动生成的需要修改配置文件
打开服务器中的文件jupyter_notebook_config.py,做以下修改
把前面的“#”去掉
c.NotebookApp.ip='服务器IP' # 应该是'*' c.NotebookApp.password = u'sha:ce...刚才复制的那个秘钥' c.NotebookApp.open_browser = False c.NotebookApp.port =8888 #随便指定一个端口
5.登录
在本地的命令行输入:
ssh -L localhost:9999:localhost:8888 -p 端口号 username@远程地址
这里说明一下:locahost:9999是指本地地址,localhost:8888是指远程地址,其中8888是jupyter notebook中设置的端口号,-p 22是指登录服务器的端口号 后面是用户名和服务器ip。
然后现在服务器打开jupyter notebook,输入http://localhost:9999/就可以 成功进入
人的一生像是一把算盘,似乎无时不在计算着什么,却是被别人拨弄的一生
浙公网安备 33010602011771号