PyCharm寫jupyter notebook,并在遠(yuǎn)程服務(wù)器運(yùn)行
Keywords: PyCharm, jupyter notebook, remote server
個(gè)人覺得pycharm好用,?尤其是我喜歡vim的按鍵模式(使用ideavim),?之前一直沒搞明白如何連接遠(yuǎn)程服務(wù)器上的jupyter notebook。
一、 本地jupyter notebook的運(yùn)行
這個(gè)是基礎(chǔ),?很簡(jiǎn)單,?但不提一下 好像也不太好。
在pycharm里 新建一個(gè) jupyter notebook,?可看到?設(shè)置jupyter?服務(wù)器 configure jupyter server

默認(rèn)新建就可以了,?選對(duì) python interpreter解釋器。
二、?遠(yuǎn)程服務(wù)器
首先在遠(yuǎn)程服務(wù)器上運(yùn)行一個(gè) jupyter notebook,?但注意要設(shè)置成無瀏覽器模式(我之前就是這里出錯(cuò)了),?運(yùn)行(端口號(hào)你自己選)
jupyter notebook --no-browser --port 8890

接下來,?復(fù)制URL(因?yàn)樾枰獛蟭oken)
還有一項(xiàng)關(guān)鍵的,?就是SSH 隧道?轉(zhuǎn)發(fā),?因?yàn)閜ycharm不能直接連遠(yuǎn)程服務(wù)器上的notebook,?需要用SSH將本地端口和遠(yuǎn)程端口連起來,
格式: ssh -N -L? 本地端口:localhost:遠(yuǎn)程notebook端口? ?用戶名@服務(wù)器地址
例:??ssh -N -L 8890:localhost:8890? user1@host.hostuniversity.edu
關(guān)于ssh的?公鑰密鑰、?更詳細(xì)的隧道/端口 轉(zhuǎn)發(fā),?我這里就不多說明了
最后,?照之前本地運(yùn)行里所說,?設(shè)置 jupyter server ,?將上面的url?粘貼進(jìn) configured server?里——注意端口號(hào),要和前面隧道轉(zhuǎn)發(fā)的本地端口號(hào)相對(duì)應(yīng)。

不過有時(shí)候還會(huì)重新問你 password or token,?填入 URL里的token?對(duì)應(yīng)的那串字符?cdc95aed98d374be104896606db8b859b7c0e6201b5853b3?即可
之后就可以在pycharm?寫代碼并直接運(yùn)行在遠(yuǎn)程服務(wù)器上了

三、?遺留小問題
PyCharm的自動(dòng)上傳?好像 不自動(dòng)上傳 .ipynb文件,?我目前需要手動(dòng)上傳,?但應(yīng)該只是個(gè)小問題