针对无root权限,无sudo权限,仅开放远程连接端口的服务器
注意:也适用于实验室等内网环境
文章目录
远程服务器配置
-
远程服务器上安装jupyter,这里建议切换到conda虚拟环境安装
conda install jupyter
-
初始化jupyter配置
# 配置文件默认生成在用户目录文件夹下的.jupyter文件夹下 jupyter notebook --generate-config
-
取消jupyter notebook 的密码
vim <user_folder>/.jupyter/jupyter_notebook_config.py # 将第340行的 #c.NotebookApp.token = '<generated>' 修改为 c.NotebookApp.token = '' # 然后保存文件即可
-
添加虚拟环境(kernel)到jupyter下
默认的核(kernel)是anconda的base环境,需要添加自定义的虚拟环境
ipython kernel install --name <env_name> --user
- 注意需要在虚拟环境下执行上述语句,
<env_name>
可以不和虚拟环境名一致 --user
对于没有sudo或root权限的用户是必选项,否则,会提示权限不足
- 注意需要在虚拟环境下执行上述语句,
-
启动 jupyter
jupyter lab --no-browser --port 41234
-
这里建议使用
lab
而不是notebook
- Jupyter notebook 是一个基于网页的交互式计算环境,可以创建和运行多种语言的代码,如 Python, Julia, R 等。它广泛用于数据分析,数据可视化和其他的交互和探索性计算中
- Jupyter lab 是基于 Jupyter notebook 的新版本,是一个模块化的界面,可以在同一个窗口同时打开多个 notebook 或文件(HTML, TXT, Markdown 等),都以标签的形式展示,更像是一个集成开发环境(IDE)。
- Jupyter lab 提供了一些 Jupyter notebook 没有的功能,如同一个文档打开多个窗口,拖拽单元格排序,实时共享文档等。
-
--no-browser
无浏览器模式 -
--port
可选项,默认启动8888
端口
-
本地配置
-
打开cmd窗口,使用ssh命令实现端口转发
ssh -L 41234:localhost:41234 <user_name>@<server_ip or 域名> -p 端口号
如:若服务器:用户名为curious,登录ip和端口为
10.10.10.111:2244
则命令如下ssh -N -f -L 41234:localhost:41234 curious@10.10.10.111 -p 2244
-N
参数表示不执行远程命令,仅进行端口转发。-f
参数表示将SSH进程转入后台运行。-L
参数表示进行本地端口转发,格式为[bind_address:]port:host:hostport
。在这里,localhost:41234:localhost:412348
表示将本地计算机上的41234端口绑定到远程服务器的41234端口上,这样本地计算机上的浏览器就可以通过localhost:41234访问远程服务器上的Jupyter Notebook了。
-
输入密码,连接成功即转发端口成功
-
输入
http://localhost:41234
orhttp://127.0.0.1:41234
访问 访问远程服务器上 Jupyter服务 -
选择添加的虚拟环境(kernel),新建notebook文件,选择
<env_name>
名字的核,测试环境是否添加成功import sys # 若路径为服务器上的,虚拟环境下的python解释器路径,说明kernel添加成功 sys.executable
本地pycharm配置
服务器和本地配置完成后,若不满意浏览器编写代码,没有pycham方便,可以为jupyter和pycharm设置ssh隧道,在pycharm里运行远程jupyter服务
-
在pycharm里打开.ipynb文件
-
右上角选择自定义jupyter配置
-
选择 configured Server,输入在本地配置好的jupyter服务接口:
http://127.0.0.1:41234
-
输入jupyter密码,服务器配置时删除了密码,直接点确认即可
-
右上角选择添加的核。
-
输入测试代码测试,解释器位置正确即添加成功
import sys sys.executable