手把手教你搭建3款遠程開發環境:Pycharm、Jupyter notebook以及code-server!

2021-12-11 數據分析與統計學之美

大家好,我是黃同學🚀

疫情嚴重的日子裡,人們對遠程辦公的渴望達到了巔峰。但在經歷了多次試錯與崩潰後,才發現能有一款與自己合拍的遠程編程工具是多麼的重要啊!

很多花費半天時間的事情,也許10分鐘就能輕鬆搞定。本文就為大家介紹3個能在10分鐘內搭建起來的強大又好用的遠程開發環境 !包含的編程工具有:Jupytercode-server以及PyCharm

其實就在上周,黃同學已經為大家講述了如何遠程搭建jupyter notebook,今天這篇文章更全,涉及到3個遠程開發環境。

雖然你目前不需要遠程辦公,但仍然值得收藏!

畢竟手中有糧,才能心中不慌嘛!

Jupyter是一個基於Python的交互式筆記本開發環境,一般在數據分析和算法研究領用的比較廣。它最早叫做Jupyetr Notebook,現在功能進行了升級和改版,稱作JupyterLab。

 Jupyter強大得猶如萬花筒 ,不光支持幾十種程式語言的運行,並且還集成了Markdown語法,能夠助你實現「文學編程」。

憑藉方便的魔術命令和豐富的擴展插件,Jupyter猶如萬花筒般有著非常多樣化的功能,除了可以作為開發環境,Jupyter還能用來做幻燈片、演示教學以及分享筆記等等。

所以能把Jupyter用好,那真的是如同有神兵在手!

以Linux環境為例,Jupyter的部署主要有下面幾個步驟:

第一步, 安裝Jupyter

主要有兩種方式:

①可以在Python環境下通過pip的命令 pip install --user jupyterlab 來安裝。②可以直接安裝Anaconda這個工具。

第二步,生成配置

在命令行中執行jupyter notebook命令生成配置文件。

1$ jupyter lab --generate-config

第三步,進行加密

執行下面的Python命令生成加密過密碼串,

1$ python -c "from notebook.auth import passwd; print(passwd())"
2Enter password:
3Verify password:
4sha1:40b227e347eb:2a3c56620f990edfe3aecd21fbf62e038c3f92b3

期間需要大家輸入並確認自己的密碼,之後就會輸出加密後的密碼,複製其中 :  後面的所有內容,然後切換到 ~/.jupyter 目錄,利用openssl命令生成Https的秘鑰和證書文件。

注意,這種方式生成的證書是本地的,所以瀏覽器在訪問Jupyter的時候會有警告,大家可以不用理會,點解接受或者同意就可以了。

1$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

第四步,修改配置

配置文件~/.jupyter/jupyter_notebook_config.py中的項目很多,我們這裡只列出其中比較重要的幾個配置項,其它的可根據需要自行進行修改設置。

1# *或者'0.0.0.0'表示開放本機所有IP位址的Jupyter服務,也可以指定本機某個IP位址
2c.NotebookApp.ip = '*'
3# 指定Jupyter的工作目錄
4c.NotebookApp.notebook_dir = u'C:/Users/zzl-128/Desktop/tmp/' 
5# 默認是否打開瀏覽器
6c.NotebookApp.open_browser = False
7# 加密後的密碼
8c.NotebookApp.password = u'sha1:40b227e347eb:2a3c56620f990edfe3aecd21fbf62e038c3f92b3'
9# 證書
10c.NotebookApp.certfile = u'C:/Users/zzl-128/.jupyter/mycert.pem'
11# 秘鑰
12c.NotebookApp.keyfile = u'C:/Users/zzl-128/.jupyter/mykey.key'
13# 所用埠號
14c.NotebookApp.port = 8888

第五步 啟動服務

先使用埠映射將Jupyter服務的埠(如8888)映射到公網上,

1$ nohup jupyter lab &

隨後使用命令啟動Jupyter服務,等上幾秒鐘在外網瀏覽器中輸入 https://DDNS設置的域名:映射出來的埠號  ,不出意外的話就能連接上內網的Jupyter服務了,或者通過Jupyter中的終端工具來操作內網中的主機,或者使用內網的工程環境進行項目開發都是很方便的,由於我們做了加密,所以數據傳輸也是比較安全可靠的。


說起code-server這個東東,知道的估計不多,但如果說起VScode,想必在IT圈無人不知無人不曉。

VScode是一款輕量級的文本編輯器,由於配置靈活以及插件海量的特點,可以搭建很多種語言的項目開發環境,所以深受大家的喜愛,被稱為世界上最強的編輯器!

後來有「好事者」覺得不過癮,搞了一個叫code-server的項目——把VScode搬上瀏覽器。

沒錯,我們可以把code-server理解為Web服務版的VScode

它和Jupyter類似,可以在瀏覽器中打開和使用,但相比而言,code-server遠程的搭建更加簡單一些:

第一步,下載code-server

可以在如下地址選擇最新的code-server安裝包(Linux環境)並下載解壓,解壓的文件中除code-server之外可以都刪掉。

https://github.com/cdr/code-server/releases

第二步,準備Linux環境

可以直接在Windows10的應用商店中安裝一個Linux子系統,穩妥起見建議選擇Ubuntu發行版。

第三步,啟動服務

同樣先使用埠映射將code-server服務的埠(如9999)映射到公網上,然後通過Windows Terminal打開子系統的命令行,並切換到code-server文件所在的目錄。

然後執行啟動命令。

1$ nohup ./code-server --cert mycert.pem --cert-key mykey.key --host 0.0.0.0 --auth password --port 9999 &

各選項參數的含義和前面的Jupyter比較類似,這裡不再贅述。(有興趣的同學可以通過 ./code-server --help 來查看其所有參數的使用說明。)

最後,和Jupyter的遠程一樣,最後在外網瀏覽器中輸入  https://DDNS設置的域名:映射出來的埠號  就可以盡情的享受Web上的VSCode了。


PyCharm是目前Python語言最專業的集成開發環境,主針對Python開發的功能非常全面,通過插件也可以實現其它個別語言的開發,但沒辦法和上面兩位相比。

PyCharm的遠程實際上代表了一類遠程方式——ssh遠程

Java的IDAE、VSCode都可以按照這個思路來進行遠程開發,其中的原理是相通的,這裡以最具代表性的PyCharm為例來講一講如何通過ssh實現遠程開發。

遠程開發要解決兩個問題:①如何使用遠程服務端的語言環境,也就是Python的解釋器;②本地代碼怎樣如何傳到服務端。在PyCharm中這兩個問題都可以通過配置來實現。

第一步, 開啟ssh服務

安裝ssh服務並開啟(網上教程非常的多,不會的話可自行搜索哦),然後配置公網IP並通過埠映射將ssh服務映射出去。

第二步,設置遠程解釋器

打開Pycharm,從菜單欄中依次選擇 File → Settings → Project Interpreter 進入到解釋器設置界面。

點擊Add選項並在彈出的面板中選擇SSH Interpreter,依次輸入遠程地址和用戶名密碼、選擇遠程解釋器路徑就OK了;

第三步, 設置遠程文件同步

從菜單欄中依次選擇 Tools → Deployment →  Configuration ,進入到配置界面。

點擊添加(+)選擇SFTP,

根據自己的情況填寫 Connection 和 Mappings 兩個面板的信息,最後一確認也就OK了。

如果要覺得每次上傳代碼很麻煩,可以勾選 Tools → Deployment → Automatic Upload 實現自動上傳。如此之後你就可以實現在本地開心地編碼,而在遠程簡單的運行和調試啦!

上面講的三個遠程工具和方法都是用來進行開發或者測試的,只會有一些少量的數據傳輸,所以相對於直接使用TeamViewer等遠程桌面工具而言,可以極大限度的減少網絡帶寬佔用!

此外,遠程環境大家是可以共享共用的,這在一定程度上也避免了多套重複環境的搭建,對於公司而言,在提高了工作效率的同時也節省了系統資源。

不過,需要注意的是,上文講述的這些步驟都是在使用量不大的情況下進行的,如果有成百上千個甚至更多的人在同時使用的話,那性能上可能就扛不住了,這個時候建議使用dockerNginx等工具將這些服務搭建成集群的形式以供大家使用。

本文作者:博海,一個沉迷於技術並且追求藝術的pythoner。

相關焦點

  • 【Python技術入門-3】Python集成開發環境PyCharm搭建
    」飛哥:「你算是問對人了,前幾天剛發布的文章《【Python技術入門】Python環境搭建-VSCode》,正好適合你。」粉絲:「我看了這文章,確實是手把手包教包會的好文章,但是這個VSCode安裝完後,還有一堆的插件下載和配置。
  • VS Code上也能玩轉Jupyter Notebook,這是一份完整教程
    這篇文章告訴你,如何在 VS Code 中上手使用 Jupyter Notebook。儘管許多程式設計師選擇使用 IDE(Integrated Development Environment,集成開發環境)工作,但也有一些程式設計師(包括我)喜歡探索 IDE 中不同的可能性。
  • Python系列之——手把手教你玩Pycharm
    剛入門python的時候,一直覺得用哪個編輯器並沒有差別,然而前兩天發了一篇文章【Python系列之——如何每天跟女朋友說晚安~】,跟幾個粉絲小夥伴在群裡一起討論了大半個小時,遇到了這樣那樣的一些bug……本來這也沒啥,用哪個編輯器跟代碼有bug並不存在相關性,然而遇到了一個編碼問題,interesting的事情是,同樣的程序在命令窗口可以執行,而在小編最開始使用的編輯器
  • 手把手教你搭建鴻蒙Hi3518開發和運行環境
    本文教你一步一步搭建鴻蒙的開發和運行環境,有點囉嗦,適合小白。由於編譯伺服器還沒有創建,所以我把自己編譯好的文件放網上了,你可以下載。文件路徑根據你自己的實際路徑,下載下來後存放的位置。COM 口根據你之前設備管理器看到的那個 CH340 口選擇。
  • Jupyter Notebook「魔法」命令都在這了
    :導出當前notebook所有歷史輸入到一個文件中  %pip:在cell中使用pip指令  %pwd:輸出當前路徑  %pycat:預覽文件,類似linux中cat  %run:執行腳本  %time:執行時間3、Cell magics:Cell魔法指令  %%writefile:將當前cell中內容寫入文件中  %%latex:寫Latex
  • 我們為你精選了一份Jupyter/IPython筆記本集合 !(附大量資源連結)
    估計在大陸低角度正常斷層上觀測大地震的可能性以及對低角度正常斷層活動的影響https://nbviewer.jupyter.org/github/cossatot/lanf_earthquake_likelihood/blob/master/notebooks/lanf_manuscript_notebook.ipynbpython4oceanographers
  • 手把手教你從零搭建和部署自己的個人博客
    使用JavaPHP、Python等語言開發屬於自己的動態博客 + 伺服器部署•優點:功能強大•缺點:麻煩、不易上手(2)靜態博客搭建a. 使用Hexo、Hugo、jekyll等主流博客框架搭建靜態博客 + 託管在GitHub、碼雲等公共平臺。•優點:輕量級、易上手、不花錢•缺點:訪問速度慢b.
  • 我們為你精選了一份Jupyter/IPython筆記本集合 !(附大量資源連結)-上篇
    這款筆記本完全再現了本文發表的研究成果。該筆記本主要使用python但包括一些bash和R,並且與生物信息學和公共衛生領域的研究人員相關。估計在大陸低角度正常斷層上觀測大地震的可能性以及對低角度正常斷層活動的影響https://nbviewer.jupyter.org/github/cossatot/lanf_earthquake_likelihood/blob/master/notebooks/lanf_manuscript_notebook.ipynbpython4oceanographers
  • python+ pycharm 環境安裝 + pycharm使用
    >①一定要勾選「Add Python to Path」,要不然要手動添加環境變量②點擊「Customize installation」7.然後就一直點擊下一步,進入選擇安裝路徑,這裡我們最好不要安裝在C盤,你開心就好8.確認python是否安裝成功:在cmd中輸入
  • 手把手教你在手機或平板上配置Python環境!
    作者:張老師來源:菜J學Python本文旨在講解如何在Android平板或手機上搭建
  • 玩轉嵌入式之如何在Linux系統中搭建tftp伺服器·圖文視頻
    我們知道,Windows下使用「tftpd32.exe」這款軟體可以很方便地在Windows下搭建的tftp伺服器。但是,當我們做嵌入式linux開發的時候,如果用Windows搭建tftp伺服器,用的還是虛擬機,就得在虛擬機中開啟共享文件夾,然後再把文件放入共享文件夾內,最後傳輸到開發板中執行。
  • 鴻蒙HarmonyOS開發環境搭建與運行Demo
    (遠川科技評論)鴻蒙Harmony OS發布有一段時間了,今天出於好奇,花了一晚上的時間,首先研究學習了一下如何搭建開發環境,並運行了所給的樣例,Hello World,熟悉不?環境準備:1、Node.js2、Widnows3、DevEco Studio Package安裝Node.js環境下載地址:https://nodejs.org/zh-cn/如下圖,選擇長期支持版即可。Node.js 安裝過程省略,打開安裝包,接下去一路傻瓜式安裝即可。
  • Visual Studio Code 正式版本 1.34,遠程開發擴展仍不可用
    4月份,官方忙於遠程開發擴展的預覽版。通過這些擴展,開發者可以在遠程計算機或VM,Windows子系統Linux(WSL)或Docker容器內通過SSH使用VS Code。可以閱讀Visual Studio Code博客文章中的遠程開發以了解更多信息。如果您想在網上閱讀這些發行說明,去更新上code.visualstudio.com。
  • 電路城樹莓派試用活動第一周:開發環境的搭建(一)
    樹莓派3B+開發板在Windows系統下進行開發的環境搭建(一)拿到了樹莓派3B+ 開發板後,經過短暫的興奮,終於開始實戰安裝OS了。這次的開發是準備將原先單片機的一個應用進行升級改造,對於這種項目來說,樹莓派的板子主要是替代單片機進行GPIO口操作,同時建立一個友好的人機互動界面,所以一開始規劃就從這兩點出發,新增外設儘可能簡單,不考慮外接顯示器,一切都用WiFi無線功能,搭建Windows下遠程連接進行開發的環境。
  • Hi3861最詳細環境搭建
    正所謂「工欲善其事,必先利其器」,目前鴻蒙系統的開發方式是在 Linux 系統上面編譯源碼,Windows 系統上編寫、燒錄,故我們要搭建這兩個的開發環境
  • Python玩數據入門必備系列(2):vs code 寫 Python
    我在 F 盤創建一個文件夾 py_test,下面用 vs code 打開這個目錄:- 點擊左邊第一個小圖標,這是管理文件的地方- )中,直接用滑鼠把該文件夾拖放到 vs code 界面中,即可快速打開此目錄。
  • 烏班圖下如何快捷打開pycharm
    sh pycharm.sh此時,我們的 Pycharm 還未激活,會彈出激活框。此時選擇 License server 填入 http://idea.imsxm.com 點擊 Active 就行認證。(如果已經失效,可百度尋找新的激活碼 或 http://idea.lanyus.com/ )(3)設置快捷啟動方式如果不進行設置,每次啟動 Pycharm 都需要進入 bin 目錄,打開終端運行 sh ./pycharm.sh 命令。這裡,我們在桌面創建一個快捷方式。
  • 利用 VS Code 構建基於容器的開發環境
    Docker 和 VS Code 的遠程容器來建立一個容器化的本地開發環境,這樣就可以讓團隊成員儘快完成入門培訓。你不僅可以在所有環境中使用同一個基礎鏡像,而且還可以為所有開發人員提供相同的編輯器,此外還更容易標準化實現。但這種方法並非適合所有人,如果你不喜歡 VS Code 作為代碼編輯器的話,則可以跳過本文,除非你想嘗試一下。為團隊設置本地開發環境時,我們所面臨的挑戰之一就在於,確保所有開發人員的設置都相同或者能夠滿足需求。這個問題常見的解決方法是制定入門指南,並希望開發人員遵循這些指南。
  • 手把手教你如何搭建自己的滲透測試環境
    在這個實驗室裡,你能看到如何創建一個自己的黑客環境,練習各種各樣的黑客攻擊技術。我們將會探討不同類型的虛擬系統,構建一個虛擬網絡,在虛擬環境中運行試用版的作業系統,搭建一個有漏洞的web應用程式,安裝Kali LInux,執行滲透測試。