当前位置:   article > 正文

远程开发利器:Pycharm中使用远程Jupyter Notebook:_pycharm自启动jupyter server 禁止修改token

pycharm自启动jupyter server 禁止修改token

在远程服务器上做开发时,如本人在远程gpu服务器进行深度学习,如果在本地开发环境下开发可能会存在问题,需要保证本地开发环境与远程服务器一致。本地编辑好的程序也要拷贝到服务器。可以通过以下的几种方式直接在远程服务器环境下做开发。

1、pycham远程配置

主要需要配置以下两个

  • 本地文件与远程文件关联,也就是实现与远程服务器互联,在本地开发完成的文件可以一键传到远程服务器,远程服务器的文件也可一键拉过来。或者设置自动实时同步也是可以的
  • 本地pycharm使用远程服务器的Python Interpreter

具体配置过程参照此博客,网上很多教程这里不多说了,注意只有专业版才有远程的功能。

2、远程Jupyter Notebook

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的密码

执行以下命令输入密码即可

jupyter notebook password

补充:

后续使用中 发现使用命令行生成密码总是报错,也可以不使用命令行,直接修改配置文件也可以设置密码。

将下面行改为你的密码即可。

#c.NotebookApp.token = '<generated>'

如密码设置为QQQ,注意记得去掉注释#号。

c.NotebookApp.token = 'QQQ'

 4)修改配置文件

编辑Jupyter Notebook的配置文件

vim ~/.jupyter/jupyter_notebook_config.py

取消掉以下行的注释,并修改成以下内容

  1. c.NotebookApp.ip = '*'
  2. c.NotebookApp.port = '8888'
  3. c.NotebookApp.open_brower = False

至此,远程Jupyter Notebook配置完成,其他电脑浏览器打开输入密码即可使用

3、在pycharm中使用远程的Jupyter Notebook

Jupyter Notebook优点很多,但之前一直不用的原因在于jupyter没有代码提示,错误提示。对于新人不友好,并且颜值不高。

可以在Pycharm中使用远程的Jupyter Notebook。享受Jupyter Notebook优点的同时,还能享受Pycharm自动补全等等的功能。

 在说配置过程之前,先说配置过程踩过的坑。供大家参考

在pycharm中新建Jupyter Notebook文件,点击run cell时,会提示让你配置server。也就是让你填写http://x.x.x.x:8888/?token=sacvxvxcuqywebxchv|wd这个链接。但是我上面配置远程Jupyter Notebook时设置了密码,在服务器运行Jupyter Notebook时不会给这个token的链接。如下图的运行后的日志:

而是默认让你使用密码登录的方式。 

 并且pycharm只能使用token的方式登录。为了解决这个问题尝试了多个版本的pycharm。只在最新版的pycharm 2019.02版本中找到了密码登录Jupyter Notebook的方法。(ps:其他版本或许也支持密码登陆,只是我没发现而已,实在找不到就换到最新版本把。)

最新版的pycharm 2019对Jupyter Notebook进行了升级。与正常的jupyter Notebook版面有点区别,代码在左边,输出在右边。如下图,颜值还是很高的:

pycharm 2019.02版本的Jupyter Notebook配置过程:

1)在pycharm中新建Jupyter Notebook文件,点击下图位置设置远程jupyter Notebook的IP地址+端口。

2)点进去后输入远程jupyter Notebook的IP地址+端口。如本例的http://10.200.2.7:8888。然后点OK保存设置。

3)然后点击下方run cell

就会提示让你输入密码或者token。输入之前配置远程Jupyter Notebook设置的密码即可。之前版本的只有输入token的选项

输入密码后运行很可能会报以下的错误:Error with connection to Jupyter: server responded with 501 on POST http://10.200.2.7:8888/api/sessions HTTP/1.1. 201 was expected.

去官网的issues中找到这是kernel版本不对的错误。解决方法是:把pycharm 中的python Interpreter设置成远程启动Jupyter Notebook的python解释器即可。

例如:假设在服务器上使用conda管理python环境。我在conda的名为tf1.12的环境下启动了Jupyter Notebook,如下图:

那么pycharm的python Interpreter也设置成conda环境名为tf1.12的python解释器,如下:

设置完成后就可以正常使用了。尽情享受Jupyter Notebook和Pycharm的结合吧。enjoy it!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/153420
推荐阅读
相关标签
  

闽ICP备14008679号