pycharm 2025.1.1-专业版jupyter notebook远程连接
本文参考:保姆级!pycharm 2024.1.1-专业版jupyter notebook远程连接
远程开发利器:Pycharm中使用远程Jupyter Notebook
自己想要在本地pycharm连接远程notebook的初衷,本地电脑资源不行,需要借助于远程资源。
具体步骤如下:
1. 远程安装jupyter
Jupyter Notebook默认只能在本地调用,远程调用需要修改其配置文件。
1)为避免不必要的报错,在配置前最好使用以下命令把远程服务器的Jupyter Notebook升到最新版。
pip install -U jupyter
2)生成配置文件
jupyter notebook --generate-config
root用户下需要加参数–allow-root 执行上面的命令
jupyter notebook --generate-config --allow-root
3)设置远程登陆Jupyter Notebook的密码
vim ~/.jupyter/jupyter_notebook_config.py在文件里面新加一条:c.NotebookApp.token = 'venti'
2. linux开启jupyter server
在服务器对应的项目目录下执行此命令:
原因:
最终本地pycharm执行的是远程服务器的ipynb文件,所以我们需要在这里设置下远程服务器端notebook对外映射的接口和参数。
同时为方便修改,一般我会设置文件同步。修改本地的文件,运行时同步到远程在执行。
jupyter notebook --no-browser --allow-root --port 8900
2.1 后台挂起启动
如果想要挂起这个jupyter,可以用nohup指令,以下是我用的command (nohup版本):
# 1. nohup挂起jupyter
nohup jupyter notebook --no-browser --allow-root --port 8900 >/dev/null 2>&1 & # 不需要输出结果的保存
# 2. 找到这一进程
ps aux|grep jupyter
# 3. kill这一进程
kill pid
# 或者
kill -9 pid # (强制终止)
(1)nohup 的作用
后台运行: nohup (no hang up) 命令可以让程序在后台运行,即使你关闭终端或断开 SSH 连接,程序也会继续运行。
忽略 SIGHUP 信号: 当你退出终端或断开 SSH 连接时,系统会向所有与该终端关联的进程发送 SIGHUP (hang up) 信号。通常,这会导致进程终止。nohup 命令会忽略 SIGHUP 信号,从而使程序不受影响。
输出重定向: 默认情况下,nohup 会将程序的标准输出 (stdout) 和标准错误 (stderr) 重定向到当前目录下的 nohup.out 文件中。
终止程序的方式:因为 nohup 会忽略 SIGHUP 信号,并且程序在后台运行,所以你不能直接使用 Ctrl + C 来终止它。你需要找到进程 ID (PID),然后使用 kill 命令。
(2)python xxx.py 的行为
前台运行: 当你直接运行 python xxx.py 时,程序会在前台运行,占据你的终端。
终端关闭导致程序终止: 如果你关闭终端或断开 SSH 连接,程序会收到 SIGHUP 信号并终止。
输出到终端: 程序的标准输出和标准错误会直接显示在终端中。
终止程序的方式:在运行程序的终端窗口中,按下 Ctrl + C 组合键。这会向程序发送 SIGINT 信号(中断信号),通常会导致程序终止。大多数程序都会响应 SIGINT 信号并优雅地退出(例如,保存数据、关闭文件等)。方法:ps + grep:
1、查找进程 ID:ps aux | grep “python xxx.py” | grep -v grep这会列出所有包含 “python xxx.py” 的进程信息,包括 PID。通常,你需要排除 grep 进程本身。
2、使用 kill 命令终止进程:kill # 默认发送 SIGTERM 信号
2.2 映射本地与远程端口
在本地输入,实现端口映射:
说白了就是结合2.1中服务器端notebook对外映射的接口和参数,将服务器端的notebook映射到本地的具体端口上,实现在本地打开服务器端的notebook。
ssh -N -L [远程端口]:[本地ip:本地端口] [用户名]@[远程ip] -p [远程ssh端口]
ssh -N -L 8900:localhost:8900 root@xxx.xx.xxx.xx -p xxxxx
3 . pycharm配置
3.1 pycharm配置Jupyter server
可以先在本地浏览器打开8900端口,得到如下页面即显示映射设置成功:
随后在pycharm中设置如下:
对应在notebook中测试: