使用IntelliJ IDEA進行Python遠程調試
摘要
隨著近期研究的深入,越來越多的運算程序只能在位于遠程環境的GPU運算服務器來執行。這些程序例如Theano、PyLearn2等需要使用 GPU加速,所以代碼必須放置在服務器端運行。由于程序使用Python編寫,所以之前實驗室一直使用IPython Notebook進行開發。但是畢竟一款Web Based IDE功能肯定趕不上桌面IDE,所以有必要研究一下在本地開發并且遠程執行的工作流程。 最近的工作需要用到安裝在GPU運算服務器上的Python開發工具——Theano。而本機并不能順暢地跑Theano程序,所以需要進行遠程開發。本 文旨在通過實例展示“使用IntelliJ IDEA進行Python遠程調試”的全過程。
關鍵字:Python,IntelliJ IDEA,遠程調試
軟硬件環境
- 客戶端操作系統: Mac OS X Yosemite 10.10.1
- 客戶端集成開發環境:IntelliJ IDEA 14.0.1 Ultimate
- 服務器端操作系統: Ubuntu 14.04 LTS
- 服務器端軟件配置:Python 2.7.6,Theano 0.6.0,已安裝ssh-server
操作流程
首先使用IntelliJ IDEA創建一個空項目。空項目創建完畢后會彈出創建Module的窗口,暫時將其關閉,我們先進行系統設置后再向項目中添加模塊。
在菜單中點擊Tools -> Development -> Configuration,進入設置界面。
點擊“+”添加新配置信息,Type中選擇SFTP,并點擊確認后進入詳細設置界面
在SFTP host中填寫遠程服務器地址,在Root path中填寫遠程根目錄,并填寫好User name和Password,然后切換到“Mappings”選項卡。
在Mappings選項卡中可以設置本地與遠程映射目錄,通常LocalPath是當前項目所在目錄,而Deployment path on server則是需要上傳到遠程服務器的目錄。需要注意的是,遠程目錄是相對于前一個選項卡中Root Path的相對路徑。
點擊IntelliJ IDEA菜單中的File -> New Module -> Python,此時在選擇Module SDK時點擊 "New..." -> Add Remote,在彈出的窗口中選擇“Deployment configuration”,并且選擇剛剛新建的配置文件。完畢之后點擊Next并且設置模塊名稱,最終會創建項目。
在模塊中創建一個測試文件,test.py:
import theano print theano.config.device
屏幕右上角的箭頭,進入運行配置,添加一個Python運行配置,并且選擇執行的主程序腳本文件。在環境變量中依次配置所需的環境變量(例如 theano需要THEANO_FLAGS等)。然后再Python Interpreter中選擇 Use SDK of module。此處需要注意的是,多個環境變量之間不能互相引用,單系統內置的環境變量可以互相引用。所以環境變量就都寫成絕對地址就好。
完成之后,在項目名稱上點擊右鍵,并且選擇Upload to。IntelliJ IDEA會自動將文件upload到遠程服務器,此時即可執行。
來自:http://friskit.me/2014/12/09/python-remote-debug-indellij-idea/