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 [email protected] -p xxxxx

3 . pycharm配置

3.1 pycharm配置Jupyter server

可以先在本地浏览器打开8900端口,得到如下页面即显示映射设置成功:

随后在pycharm中设置如下:

对应在notebook中测试:

相关推荐
lyb062 小时前
关于 jupyter 找不到虚拟环境中安装好的包的问题
ide·深度学习·jupyter
路由侠内网穿透2 小时前
本地部署 Jupyter 并实现外部访问(Windows 版本)
服务器·ide·windows·网络协议·tcp/ip·jupyter
猫头虎7 小时前
【Python系列PyCharm实战】ModuleNotFoundError: No module named ‘sklearn’ 系列Bug解决方案大全
android·开发语言·python·pycharm·bug·database·sklearn
范纹杉想快点毕业15 小时前
QT文件操作与对话框交互详解,万字解析!!
java·c语言·开发语言·c++·qt·pycharm·visual studio
世由心生2 天前
[从0到1]环境准备--anaconda与pycharm的安装
ide·python·pycharm
一个处女座的暖男程序猿3 天前
在pyCharm中创建新的conda环境
ide·pycharm·conda
纪伊路上盛名在4 天前
jupyter内核崩溃
前端·数据库·jupyter·生物信息·基因组·k-mer
简放4 天前
Cursor-1.0安装Jupyter-Notebook,可视化运行.ipynb文件中Python分片代码
jupyter·ai编程·cursor
CodeDevMaster5 天前
在Jupyter Notebook中使用Conda虚拟环境
python·jupyter