2016-03-02 25 views
5

我面對現在的問題遠程調試:如何PyCharm

  • 我通過SSH
  • 腳本傳遞一些參數,必須由特定的跑出一個遠程主機上部署Python代碼用戶
  • 我創建的PyCharm運行/調試配置通過SSH通過不同的用戶連接(無法與實際運行腳本的用戶連接)
  • 我想通過PyCharm遠程調試此代碼...我設法做所有配置,我只是得到權限錯誤。

是否有任何方法可以像特定用戶(如sudo su - user)一樣運行/調試腳本?

我已閱讀關於在PyCharm的遠程/調試配置中指定一些Python Interpeter選項,但沒有設法得到一個工作解決方案。

回答

8

如果你想要一個簡單和更靈活的方式來獲得進入PyCharm調試,而不一定具有PyCharm一點擊「播放」按鈕,您可以使用調試服務器功能。我已經在運行一些Python代碼的情況下使用它,並不像運行python ...那麼簡單。

詳情請參閱the Remote debug with a Python Debug Server docs,但這裏是它如何工作的一個粗略的總結:

  1. 上傳&您的服務器上安裝遠程調試助手雞蛋(在OSX,這些/Applications/PyCharm.app/Contents/debug-eggs下找到)
  2. 設置遠程調試服務器運行配置:點擊下拉運行配置菜單,選擇Edit configurations...,點擊+按鈕,選擇Python remote debug
    • 這裏輸入的詳細信息(有點令人困惑)告訴運行Python腳本的遠程服務器如何連接到筆記本電腦的PyCharm實例。
    • 設置Local host name到你的筆記本電腦的IP地址
    • 設置port來,你可以在筆記本電腦上使用任何空閒端口(例如8888
  3. 現在按照該對話框中的剩餘指令:複製粘貼importpydevd.settrace(...)聲明到你的代碼中,特別是你希望你的代碼「擊中斷點」的地方。這基本上是的PyCharm等價物。確保已更改的代碼已同步到您的服務器。
  4. 點擊錯誤按鈕(在播放旁邊;這將啓動PyCharm調試服務器),然後在任何用戶,環境等下運行您的Python腳本。當命中斷點時,PyCharm應該放入調試模式。
+0

謝謝!但是,我試圖設置它,但是,在第2步中,我應該設置遠程服務器配置 - 如果通過SSH隧道連接到遠程節點,該怎麼做?長話短說,發生什麼事是,當我運行遠程代碼使用「python