pycharm 2025.1.1-专业版jupyter notebook远程连接

本文参考:保姆级!pycharm 2024.1.1-专业版jupyter notebook远程连接
远程开发利器:Pycharm中使用远程Jupyter Notebook

自己想要在本地pycharm连接远程notebook的初衷,本地电脑资源不行,需要借助于远程资源。

具体步骤如下:

1. 远程安装jupyter

Jupyter Notebook默认只能在本地调用,远程调用需要修改其配置文件。

1)为避免不必要的报错,在配置前最好使用以下命令把远程服务器的Jupyter Notebook升到最新版。

bash 复制代码
pip install -U jupyter

2)生成配置文件

bash 复制代码
jupyter notebook --generate-config

root用户下需要加参数--allow-root 执行上面的命令

bash 复制代码
jupyter notebook --generate-config --allow-root

3)设置远程登陆Jupyter Notebook的密码

bash 复制代码
vim ~/.jupyter/jupyter_notebook_config.py

在文件里面新加一条:c.NotebookApp.token = 'venti'

2. linux开启jupyter server

在服务器对应的项目目录下执行此命令:

原因:

最终本地pycharm执行的是远程服务器的ipynb文件,所以我们需要在这里设置下远程服务器端notebook对外映射的接口和参数。

同时为方便修改,一般我会设置文件同步。修改本地的文件,运行时同步到远程在执行。

bash 复制代码
jupyter notebook --no-browser --allow-root --port 8900

2.1 后台挂起启动

如果想要挂起这个jupyter,可以用nohup指令,以下是我用的command (nohup版本):

shell 复制代码
# 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

bash 复制代码
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中测试:

相关推荐
sphw1 天前
nixnb: Jupyter Notebook 优雅分享
ide·人工智能·jupyter
编程阿峰2 天前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
Circ.3 天前
IDEA 引入 nx JAR:原目录可用,复制后失效的原因与解决
pycharm·intellij-idea·jar
魔尔助理顾问3 天前
安装 Jupyter Notebook (推荐给 venv 用户)
开发语言·ide·python·jupyter
勤奋的大熊猫4 天前
PyCharm 内部打开 .gds 版图文件
pycharm·klayout
xuhe25 天前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter
郝学胜_神的一滴5 天前
Python 高级编程 026:序列内核深剖
python·pycharm
Y3815326626 天前
serpbase + Pandas + Jupyter 数据分析实战
jupyter·数据分析·pandas
崖边看雾6 天前
Python学习——函数
开发语言·windows·python·学习·pycharm
接针7 天前
Pycharm远程连接Ubuntu的conda环境
ubuntu·pycharm·conda