欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyCharm 配置遠程python解釋器和在本地修改服務器代碼

 更新時間:2019年07月23日 15:11:12   作者:Num.Zero  
這篇文章主要介紹了PyCharm 配置遠程python解釋器和在本地修改服務器代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近在學習機器學習的過程中,常常需要將本地寫的代碼傳到GPU服務器中,然后在服務器上運行。之前的做法一直是先在本地寫好代碼,然后通過FileZilla這樣的文件傳輸工具來將寫好的文件傳到服務器,再通過ssh工具遠程連接到服務器,執(zhí)行相應的python腳本。這樣的方式十分繁瑣,效率很低。今天聽到朋友提到了配置遠程解釋器

使用場景

先說說自己的使用場景,我是在什么情況下,需要將IDE配置成這樣的環(huán)境來方便我的工作。

首先,我需要在本地機子上寫python代碼,但是因為是機器學習相關的一些代碼,有時候本機跑可能會很慢,或者根本跑不下來。而此時,我還有一臺可用的服務器,上面配置了相應的python3環(huán)境和相應的機器學習庫,比如tensorflow,keras,tflearn等等。因此通常需要將本地寫好的代碼上傳到服務器上,在服務器上運行。由于代碼能力渣渣,所以常常需要反復修改代碼,而直接在服務器上修改代碼不是很方便。因此,我希望可以像下面一樣操作:

  1. 我在服務器上有一個工作目錄,我希望可以直接在我本地機子上修改工作目錄下面的代碼文件
  2. 因為Pycharm可以配置遠程python解釋器,所以我希望可以直接在本地的機子上運行修改的代碼,并且直接在本地機子查看運行的結(jié)果,而不用ssh到遠程服務器在執(zhí)行代碼。
  3. 具體來說就是,我可以直接在本地上編寫代碼,然后直接點擊pycharm的綠色小三角執(zhí)行代碼,并且這個執(zhí)行是由遠程服務器的python解釋器執(zhí)行的,而不是在我本地機子上配置的python環(huán)境下執(zhí)行。

配置過程

本機環(huán)境

操作系統(tǒng):win10

IDE:Pycharm

遠程服務器

操作系統(tǒng):ubuntu14.04

配置了ssh,可以使用ssh進行遠程登陸

配置Deployment

首先,在pycharm的菜單欄依次找到:Tools > Deployment > Configuration.

然后可以看到如下的配置頁面,具體各配置在圖片中說明:

然后打開Deployment的Mapping選項卡:

這樣,Deployment的配置就完成了。這個配置完成了之后,其實是相當于配置了一個ftp工具可以連接到服務器上,從而可以查看和修改服務器上的文件。你可以通過Tools > Deplotment > Browse Remote Host來打開相應的RemoteHost面板,這個面板顯示的就是服務器上的文件,顯示的范圍是你在Deployment中的Connection選項卡下配置的Root path路徑下的文件及文件夾。

你可以直接在RemoteHost面板里雙擊某個文件并且直接進行編輯。雙擊某個文件后你可以看到編輯區(qū)域的頂部有一個橫條,并且橫條的右邊有三各按鈕,分別是比較,撤銷和上傳操作。你在這里面編輯文件之后,可以直接點擊上傳按鈕,就會提交到服務器了。但是其實不推薦直接在這里修改代碼,后面的使用流程會說到。

以上的配置,就可以直接在PyCharm里看到服務器上的文件,我感覺就像是直接在IDE里集成了一個FTP傳輸工具。

配置遠程python解釋器

這里主要講的是如何配置遠程python解釋器。

首先,通過File > Settings,打開設置選項卡。

在設置選項卡里,點擊"Project:項目名"這個按鈕,在展開的小項里再點擊Project Interpreter,右邊就會變成Interpreter的配置頁面。

點擊Interpreter配置頁面的小此輪按鈕,然后再選擇add Remote。

彈出如下彈窗并配置相應的信息。

經(jīng)過以上步驟,你的遠程解釋器就配置好了。這時,你就可以直接點擊小三角按鈕,調(diào)用遠程服務器上的python解釋器來運行代碼。但是在此,你還需要看看下面的使用流程。如果你直接雙擊RemoteHost面板里的文件,然后點擊小三角運行是會報錯的,可能會提示:

No such file or directory

在配置中也參考了很多其他文章,但是有些文章還是沒有講清楚具體的流程,因此我把自己認為可能“正確”的流程記錄一下。

在介紹Deployment配置的時候,我們講到了Mapping選項卡的配置。這個配置將本地的一個路徑映射成了服務器上的一個路徑,因此,在這個文件夾下的文件和服務器上的文件是同步的,當然,需要你在本地修改的時候upload到服務器或者設置自動upload。

在這里,我的mapping配置如下:

local path Deployment path on server
E:\workspace\remotespace xxxx/workspacexhh

首先,我們在pycharm中通過 File > open... 來打開一個新的項目,項目路徑就選擇上面的local path路徑。

在Project窗口中就可以看到打開了這個項目,當前這個項目還是空的,里面什么也沒有。

然后,我們打開RemoteHost小窗口,在test.py文件上右鍵,再選擇Download from Here,文件就會下載到本地了。返回到Project小窗口,就可以看到test.py。其他的文件類似,如果有父目錄,他會將父目錄也一起下載下來,所以文件和路徑都會和服務器保持一致。

這樣,你就可以在本地編輯test.py文件。

在編輯完成后,你可以在文件上右鍵或者直接在編輯區(qū)域右鍵,選擇upload to... 將文件上傳到服務器,這樣就可以更新服務器端的代碼了,并且保持了和本地代碼一致。

此時,點擊綠色小三角運行代碼,可以看到相應的輸出。但是看看控制臺的輸出,可以發(fā)現(xiàn),python解釋器不是本地的,而跑的文件也不是本地。

上面就是整個從服務器下載文件至本地,在本地修改文件,將文件上傳至服務器,然后直接在本地運行的整個過程。

在這個過程中,也可以發(fā)現(xiàn),經(jīng)過這樣的配置,我們的代碼現(xiàn)在一共有三個版本:一個是本地代碼,一個是服務器上的代碼,還有一個是RemoteHost面板中的代碼(這個地方的代碼如果直接編輯了,其實也可以提交到服務器,但是不能直接運行)

所以,如果通過上面的配置進行遠程調(diào)試的話,我認為大致流程應該是下面這樣:

  1. 在RemoteHost面板中,選中想要修改的代碼,然后右鍵點擊Download from here將內(nèi)容下載至本地(這個本地是你在配置Deployment時設置的本地文件夾)。
  2. 在本地(這個本地是你在配置Deployment時設置的本地文件夾)修改你的代碼,修改完成后在編輯區(qū)域或者文件名上右鍵,選擇upload to...來提交到服務器。
  3. 在提交之后,你可以像普通調(diào)用本地解釋器一樣的直接運行本地的這個文件(但其實運行的是服務器的文件)

在這里,雖然RemoteHost里的文件可以直接編輯,但是并不建議這么做,因為這里編輯之后并不能直接運行。

相關文章

  • python del()函數(shù)用法

    python del()函數(shù)用法

    del用于list列表操作,刪除一個或者連續(xù)幾個元素
    2013-03-03
  • 對dataframe進行列相加,行相加的實例

    對dataframe進行列相加,行相加的實例

    今天小編就為大家分享一篇對dataframe進行列相加,行相加的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python opencv 畫外接矩形框的完整代碼

    python opencv 畫外接矩形框的完整代碼

    這篇文章主要介紹了python-opencv-畫外接矩形框的實例代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • python實現(xiàn)計算圖形面積

    python實現(xiàn)計算圖形面積

    這篇文章主要為大家詳細介紹了python實現(xiàn)計算圖形面積,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • python導出hive數(shù)據(jù)表的schema實例代碼

    python導出hive數(shù)據(jù)表的schema實例代碼

    這篇文章主要介紹了python導出hive數(shù)據(jù)表的schema實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python如何進入交互模式

    python如何進入交互模式

    在本篇內(nèi)容中小編給大家分享了關于python進入交互模式的方法,對此有需要的朋友們可以跟著學習下。
    2020-07-07
  • 解決python訪問報錯:jinja2.exceptions.TemplateNotFound:index.html

    解決python訪問報錯:jinja2.exceptions.TemplateNotFound:index.html

    這篇文章主要介紹了解決python訪問報錯:jinja2.exceptions.TemplateNotFound:index.html,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例

    Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例

    這篇文章主要為大家介紹了Python采集王者最低戰(zhàn)力信息實戰(zhàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 探討python??pandas.DataFrame.to_json?函數(shù)

    探討python??pandas.DataFrame.to_json?函數(shù)

    這篇文章主要介紹了python??pandas.DataFrame.to_json?函數(shù)示例詳解,to_json?函數(shù)提供了靈活的參數(shù)設置,使得?pandas?數(shù)據(jù)框能夠以多種格式導出為?JSON?文件,需要的朋友可以參考下
    2024-07-07
  • Flask如何接收前端ajax傳來的表單(包含文件)

    Flask如何接收前端ajax傳來的表單(包含文件)

    這篇文章主要介紹了Flask如何接收前端ajax傳來的表單(包含文件),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論