【Pycharm】Pycharm+jupyter远程配置教程、及解决pycharm显示variables are unavailable集群报“No session ID specified“问题

您所在的位置:网站首页 jupyter的文件保存在哪里mac 【Pycharm】Pycharm+jupyter远程配置教程、及解决pycharm显示variables are unavailable集群报“No session ID specified“问题

【Pycharm】Pycharm+jupyter远程配置教程、及解决pycharm显示variables are unavailable集群报“No session ID specified“问题

2023-07-07 08:13| 来源: 网络整理| 查看: 265

Pycharm + Jupyter

先看效果:可以看到我本地的datasets文件的目录和打印出来的是不一样的,说明成功连接到远程了。 在这里插入图片描述

痛点分析 自己的电脑不适合跑深度学习:本人习惯用macos,mac懂得都懂…系统用着是挺舒服的,就是这性能有点拉(19年的,不是M1),没法拿来跑深度学习(毕竟光数据集就很大,我的mac还是256g的)…哪怕是用游戏本的朋友,我相信一般能不用自己电脑跑也不会用自己电脑跑(毕竟自己的卡要用来打游戏hhhh)在服务器编辑代码不方便:如果直接在服务器上写代码看代码,那就要用vim了,界面看着丑是其次,主要是真的很影响效率…集群的计算节点没法直接连上去:懂行的朋友一定会问,那你搞jupyter连接干嘛,直接用pycharm连server的环境不就好了,在jupyter里编译器选server上的。我遇到的问题是,实验室的集群pycharm只能直接连到登陆节点上(只有CPU,GPU都在计算节点上),不能连接到计算节点上(应该是怕被黑客装挖矿程序,计算节点屏蔽掉外部访问了)。尝试过想把远程连到计算节点上,最后无疾而终。因此想到了个解决方案:pycharm连接登陆节点做文件同步、jupyter连登陆节点做代码快速试错、同步后的成熟代码直接在服务器里进计算节点运行。 废话说完了,开始教程,新手不要放弃,顺着做就能配好!折腾一次,幸福一生! 首先配服务器上的jupyter

默认大家都有conda环境了,没有conda的朋友百度一下怎么装conda,很简单…这里不赘述了

给需要的conda环境安装jupyterconda activate xxx # xxx用你要使用的环境名字 安装jupyterconda install jupyter 生成jupyter配置文件jupyter_notebook_config.pyjupyter notebook --generate-config (生成的配置文件的位置在:/home/xxx/.jupyter/jupyter_notebook_config.py xxx是你的用户名)生成密码jupyter notebook password 敲完上述命令会显示的输出:Enter password: xxxx Verify password: xxxx [NotebookPasswordApp] Wrote hashed password to /home/xxx/.jupyter/jupyter_notebook_config.json .json文件里保存了生成的hash密码。修改配置文件 打开配置文件:vim /home/xxx/.jupyter/jupyter_notebook_config.py # 在不同服务器上,路径可能稍微有一点不一样,比如我的是/share/home/liuzf/.jupyter/jupyter_notebook_config.py vim中跳转到文件末尾: 在vim打开文件后按 shift+g 跳转到文件末尾。也可以在开头编辑,这里列出只是方便新手了解直接跳到文件末尾的方法,万一哪天用上了呢hhhhhhh。(config文件打开里面应该全是注释,相信自己,你的config文件没问题,不要慌…) 添加以下内容:# ip 设置为 * c.NotebookApp.ip = '*' # hash密码,前面的u不可以省略,后面的hash密码就是在.json文件中双引号里的内容 c.NotebookApp.password = u'' # 浏览器设置不打开 c.NotebookApp.open_browser = False # 设置一个固定端口,设置一个没有占用就好 c.NotebookApp.port = 8888 # 这个可加可不加,亲测似乎不加也没什么问题 c.NotebookApp.allow_remote_access = True 安装kernel(感觉上这一步可能也不是必须的,如果你在对应的环境里打开jupyter,应该没有这一步也可以。如果上述流程走完还是有问题的话,把这一步走了。)conda activate xxx # xxx用你要使用的环境名字 conda install nb_conda_kernels#看有的教程里source有这一步,但亲测似乎不用,不排除有的朋友可能会需要这行,所以贴上来 source activate xxx # xxx用你要使用的环境名字# 中文部分换成自己的,其他部分不用改 python -m ipykernel install --user --name 环境名称 --display-name "要显示的名称" 查看已有的kerneljupyter kernelspec list 完成配置 以上几步走完之后jupyter就配置完成了,接下来就是在集群上打开jupyterconda activate xxx jupyter notebook 配置Pycharm 在server上启动jupyter,具体参考上一步新建一个jupyter notebook文件 在这里插入图片描述新建后选择Configure Jupiter Server 在这里插入图片描述输入服务器地址:http://ip:port?token=xxx (xxx是你的明文密码,不是hash密码)然后就可以开始愉快的写代码啦! Pycharm显示variables are unavailable for remote jupyter server,看不到运行结果的问题

上述过程走完之后,可能会遇到一个问题就是点击运行,pycharm下面会显示variables are unavailable for remote jupyter server。server上报的错类似这样:

# 我的报错记录找不到了,从一个老哥那里复制来的,链接:https://intellij-support.jetbrains.com/hc/en-us/community/posts/4410324715026-Erro-in-Jupyter-notebook-No-session-ID-specified [I 19:39:21.639 NotebookApp] 302 GET /api/kernelspecs/ (127.0.0.1) 3.070000ms [I 19:39:22.969 NotebookApp] Kernel started: fea9c78e-237d-4fb7-a19c-ea2a6efd7861, name: python3 [W 19:39:23.013 NotebookApp] No session ID specified [W 19:39:42.220 NotebookApp] 404 GET /api/kernels/4827d810-1125-4fbf-b90d-dc340fea25f4/channels?session_id=4c0eb9f7ecca48a1b8d97ba71981880e (::1): Kernel does not exist: 4827d810-1125-4fbf-b90d-dc340fea25f4 [W 19:39:42.299 NotebookApp] 404 GET /api/kernels/4827d810-1125-4fbf-b90d-dc340fea25f4/channels?session_id=4c0eb9f7ecca48a1b8d97ba71981880e (::1) 81.120000ms referer=None

我遇到这个问题之后,起初以为是没配置好,各种改配置,还是不行。之后测试了一下,直接在浏览器远程连接jupyter是可行的,说明配置是没问题的。这就很奇怪了…

解决方案

最后发现解决办法是:更新一下pycharm版本…=_= 是的,你没听错,问题就是你的pycharm版本可能太老了,更新一下就好了… 我原来用的是2019.3,更新到2021.3之后,就能用了…server上还是会报出No session ID specified,但是不影响使用。 这是原始回答…试了成功之后差点没一口老血喷出来=_= 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3