VScode連接遠(yuǎn)程服務(wù)器上的jupyter notebook的實(shí)現(xiàn)
工欲善其事,必先利其器,開(kāi)發(fā)工具這個(gè)東西覺(jué)得折騰下還是有好處的。但常常感覺(jué)專門(mén)抽出時(shí)間搞這個(gè)浪費(fèi)時(shí)間,更常見(jiàn)的現(xiàn)象是已經(jīng)明顯感覺(jué)到當(dāng)前的開(kāi)發(fā)工具用的很別扭,而且告訴自己等這個(gè)忙完了要搭一個(gè)更方便的工具,到最后卻沒(méi)下文了直到下次再次遇到這種感覺(jué)。我這會(huì)就是再次遇到了,想用VSCode連接服務(wù)器上的jupyter notebook運(yùn)行tensorflow代碼,這樣在本地的VScode中直接寫(xiě)代碼就方便了很多。整個(gè)過(guò)程很簡(jiǎn)單,我自詡記性也不錯(cuò),但還是不如這白紙黑字來(lái)的保險(xiǎn),查資料也是很花時(shí)間的。
首先是本機(jī)與服務(wù)器之間配置ssh就不仔細(xì)描述了,要是忘了google一下“ssh遠(yuǎn)程登錄服務(wù)器”大把都是資料而且大多數(shù)說(shuō)的都是對(duì)的。但最好在~/.ssh/config中按照下面的樣子再配置下,ssh用起來(lái)會(huì)更方便的。
Host remote_server HostName 119.254.92.61 User xuser IdentityFile ~/.ssh/id_rsa
接下來(lái)是vscode這邊要能遠(yuǎn)程連接到服務(wù)器上,記住不是在本地寫(xiě)代碼然后再發(fā)送到服務(wù)器上,而是直接連接到了服務(wù)器的某個(gè)路徑下,VScode對(duì)文件的增刪改查就相當(dāng)于是操作了服務(wù)器上這個(gè)路徑下的對(duì)應(yīng)文件(也許說(shuō)的比較啰嗦,但是覺(jué)得概念還是要清楚的)。實(shí)現(xiàn)這個(gè)目的只需要3步:
- 在擴(kuò)展(EXTENSIONS)中搜插件Remote - SSH安裝后再重新啟動(dòng)VScode。
- 鼠標(biāo)點(diǎn)擊VScode左下角的齒輪選擇命令模式(command paletten),mac對(duì)應(yīng)的快捷鍵是shift+cmd+p。
- 在VScode頂部中間彈出的下拉菜單中輸入Remote - SSH點(diǎn)擊圖片中選中的選項(xiàng),接下來(lái)再點(diǎn)擊你要連接的服務(wù)器的名字就行了,最后會(huì)彈出一個(gè)新的VSCode。
- vscode現(xiàn)在就可以遠(yuǎn)程連接服務(wù)器了,如果想寫(xiě)python代碼,直接創(chuàng)建文件就可以了。
而服務(wù)器這邊要能夠創(chuàng)建jupyter noteboot,也就是些安裝了,不難就是找起來(lái)有點(diǎn)麻煩。我喜歡用conda安裝一個(gè)虛擬環(huán)境就是因?yàn)楦綦x了干凈省心,真要是搞壞了直接刪了重新建一個(gè)。服務(wù)器上的操作也只需要3步:
安裝虛擬環(huán)境:
conda create --name notebook python=3.6
激活虛擬環(huán)境并安裝jupyter notebook:
source activate notebook conda install -c conda-forge jupyter notebook
創(chuàng)建一個(gè)notebook服務(wù):
sudo jupyter notebook --port=8889 --allow-root
結(jié)果如下:最下面的兩個(gè)URL就是剛才啟動(dòng)的服務(wù)的地址,我復(fù)制http://localhost:8889/?token=aef9a514fa484b83aa4554371024ebc5b50bbed25c2521ab,當(dāng)然復(fù)制另一個(gè)也沒(méi)問(wèn)題。
最后在已經(jīng)連接到服務(wù)器的VScode中進(jìn)入命令模式,點(diǎn)擊下圖下拉菜單中被選中的選項(xiàng)(好繞口,理解就好)。意思也很明顯:指定一個(gè)本地或者遠(yuǎn)程的jupyter服務(wù)連接。
把剛才復(fù)制的URL粘貼進(jìn)去,按回車。
創(chuàng)建一個(gè)jupyter文件測(cè)試下:
整個(gè)過(guò)程就這么簡(jiǎn)單而且內(nèi)容也不多,但就是寫(xiě)了快兩個(gè)小時(shí)吧,正好有今晚有時(shí)間就整理一下,以后就不需要google再去各種找了。后面幾張大圖看起來(lái)好丑,感覺(jué)以后要學(xué)一些有關(guān)排版設(shè)計(jì)的內(nèi)容了,忽然想起自己曾今自學(xué)了一段時(shí)間PS,好久沒(méi)用這會(huì)好像也忘差不多了?;仡^自己讀剛才寫(xiě)的blog隱隱約約有種很著急的感覺(jué),不知道是思維還是文筆的鍋,總之有時(shí)間就多寫(xiě)寫(xiě),“感覺(jué)”也是可以慢慢積累的呢~。
到此這篇關(guān)于VScode連接遠(yuǎn)程服務(wù)器上的jupyter notebook的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)VScode連接遠(yuǎn)程服務(wù)器jupyter notebook內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的示例代碼
最近學(xué)習(xí)了字符串,運(yùn)算符,條件語(yǔ)句,循環(huán)語(yǔ)句,我在想可以用我最近學(xué)的東西做什么? 看到運(yùn)算我就想到了可以做一個(gè)簡(jiǎn)易的計(jì)算器,感興趣的可以了解一下2022-11-11示例詳解Python3 or Python2 兩者之間的差異
這篇文章主要介紹了Python3 or Python2?示例詳解兩者之間的差異,在本文中給大家介紹的非常詳細(xì),需要的朋友可以參考下2018-08-08解決python "No module named pip"的問(wèn)題
今天小編就為大家分享一篇解決python "No module named pip"的問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10python實(shí)現(xiàn)矩陣和array數(shù)組之間的轉(zhuǎn)換
今天小編就為大家分享一篇python實(shí)現(xiàn)矩陣和array數(shù)組之間的轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count
這篇文章主要介紹了?python學(xué)習(xí)-List移除某個(gè)值remove和統(tǒng)計(jì)值次數(shù)count,文章基于python的相關(guān)內(nèi)容展開(kāi)詳細(xì)介紹,需要的小伙伴可以參考一下2022-04-04python 定義類時(shí),實(shí)現(xiàn)內(nèi)部方法的互相調(diào)用
今天小編就為大家分享一篇python 定義類時(shí),實(shí)現(xiàn)內(nèi)部方法的互相調(diào)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運(yùn)算符方式
這篇文章主要介紹了python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運(yùn)算符方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07python中使用(.)進(jìn)行相對(duì)路徑訪問(wèn)文件的操作方法
在Python中,使用相對(duì)路徑訪問(wèn)文件是一種常見(jiàn)的做法,尤其是在處理與腳本位于同一目錄或附近目錄的文件時(shí),這篇文章主要介紹了python中使用(.)來(lái)進(jìn)行相對(duì)路徑訪問(wèn)文件,需要的朋友可以參考下2024-05-05