远程开发利器:Pycharm中使用远程Jupyter Notebook:

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

1、pycham远程配置

主要需要配置以下两个

本地文件与远程文件关联,也就是实现与远程服务器互联,在本地开发完成的文件可以一键传到远程服务器,远程服务器的文件也可一键拉过来。或者设置自动实时同步也是可以的
本地pycharm使用远程服务器的Python Interpreter
具体配置过程参照此博客,网上很多教程这里不多说了,注意只有专业版才有远程的功能。

2、远程Jupyter Notebook

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

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

pip install -U jupyter

pip install -U jupyter
2)生成配置文件,

jupyter notebook --generate-config

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

jupyter notebook --generate-config --allow-root

jupyter notebook --generate-config --allow-root
3)设置远程登陆Jupyter Notebook的密码

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

jupyter notebook password

jupyter notebook password
补充:

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

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

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

#c.NotebookApp.token = '<generated>'
如密码设置为QQQ,注意记得去掉注释#号。

c.NotebookApp.token = 'QQQ'

c.NotebookApp.token = 'QQQ'
 4)修改配置文件

编辑Jupyter Notebook的配置文件

vim ~/.jupyter/jupyter_notebook_config.py

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

c.NotebookApp.ip = '*' 
c.NotebookApp.port = '8888'
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!

 

 
————————————————
版权声明:本文为CSDN博主「Fang Suk」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/MrR1ght/article/details/98227629

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值