PyCharm使用技巧:通過DockerCompose配置遠端直譯器

AABBbaby發表於2018-08-16

PyCharm v2018.2最新版本下載

 

通過DockerCompose配置遠端直譯器

注:

1.此功能僅在專業版中支援。此版本是商業版,它提供了一套出色的工具和功能。

2.以下內容僅在安裝並啟用Docker整合和Python Docker外掛時有效!

先決條件

確保滿足以下先決條件:

  • Docker已安裝。這裡將使用 Windows 安裝。 請注意,您可能希望在不同平臺上重複本教程;然後使用Docker安裝macOS 和 Linux(Ubuntu,其他與發行版相關的指令也可用)。
  • 在開始使用Docker之前,請確保已啟用Docker Integration外掛。該外掛與PyCharm捆綁在一起,預設情況下處於啟用狀態。如果外掛沒有被啟用,請在Managing Plugins中的說明在 Settings / Preferences Dialog對話方塊的Plugins settings頁面上啟用它。
  • 在開始使用Docker之前,請確保已啟用Python Docker外掛。該外掛與PyCharm捆綁在一起,預設情況下處於啟用狀態。如果外掛沒有被啟用,請在Managing Plugins中的說明在 Settings / Preferences Dialog對話方塊的Plugins settings頁面上啟用它。
  • 此外,對於Windows,右鍵單擊Docker whale圖示,在context選單中選擇Settings,然後在General頁面中選擇Expose daemon核取方塊:

準備一個示例

為了展示Docker Compose應用程式的實際示例,這裡將使用一個Django應用程式,其中PostgreSQL資料庫在一個單獨的容器中執行。 從GitHub獲取專案, 並在PyCharm(File | Open)中開啟它。

對於這個Django應用程式,我們應該建立兩個容器:一個用於資料庫,另一個用於應用程式本身。使用Docker Compose將兩個容器連結在一起。

為Docker和Docker-Compose新增檔案

在Project工具視窗中,右鍵單擊project root目錄,然後選擇New | File (Alt+Insert),輸入檔名(此處是Dockerfile)並輸入以下程式碼:

接下來,對docker-compose.yml檔案重複相同的步驟並輸入以下程式碼(注:支援Docker Compose檔案格式版本從3.0到3.3。):

docker-compose.yml檔案定義了2個服務: web和db,並將它們連結在一起。

配置Docker

開啟Settings 對話方塊(Ctrl+Alt+S),然後單Build, Execution, Deployment節點下的Docker頁面 。單擊圖示"+"去建立DOCKER伺服器。

接受suggested的預設值:

對於macOS,選擇Docker for Mac連線到Docker daemon。接下來,應用更改。

配置Docker Compose作為遠端直譯器

現在定義一個基於Docker-Compose的遠端直譯器。要執行此操作,請開啟Settings 對話方塊(按 Ctrl+Alt+S)。單擊Project Interpreter頁面,在該頁上單擊Project Interprete欄位旁邊的“齒輪圖示”,並從下拉選單中選擇Add:

在開啟的對話方塊中,選擇Docker Compose選項,從下拉選單中選擇Docker伺服器,Docker Compose服務(此處為web),配置檔案(此處為docker-compose.yml)和影像名稱(此處為python)。

選擇web的原因在於,在配置基於Docker-Compose的直譯器之後,將能夠建立定期執行配置,這將改變選擇的容器的行為。因此,如果想除錯容器中的程式碼,那就是應該在這裡選擇的程式碼。compose檔案中的所有其他容器將始終與此一起啟動,但是您將無法從PyCharm影響它們的行為 - 它們的行為就像從命令列docker-compose up使用命令啟動它們一樣。

接下來,等待PyCharm啟動Docker-Compose配置進行掃描和索引:

使用Docker工具視窗

由於已經配置了Docker,因此Docker工具視窗按鈕出現在PyCharm主視窗的底部:

單擊此按鈕,看到您的容器正在執行:

配置資料庫憑據

修改Django專案中的Stutux.Py檔案的資料庫部分,以新增資料庫配置細節:

在Docker-Compose下執行應用程式

首先,執行Django應用程式時,必須執行遷移。

為此,請選擇Tools | Run 'manage.py' task並輸入migrate:

接下來,建立一個普通的Django伺服器執行/除錯配置。在主選單上選擇Run | Edit Configurations... ; 在開啟的對話方塊中單擊+並選擇Django Server

您唯一應該注意的是,Host欄位必須設定為 0.0.0.0- 以確保我們監聽來自Docker容器外部的請求。

啟動此配置(Run | Run 'RunDjangoApp'):

要在Web瀏覽器中檢視輸出,請轉到http:// localhost:8000 (在位址列中,更改0.0.0.0為localhost)(注:如果您使用的是Docker Machine,請改用機器的IP地址。):

在Docker-Compose下除錯您的應用程式

接下來在Docker Compose的除錯模式下啟動Django應用程式。為此,請設定斷點(此處斷點在模板中設定),然後在主選單上選擇Run | Debug 'RunDjangoApp':

結果如下所示:

概要

總結一下在PyCharm的幫助下所做的工作:

  • 從GitHub下載了一個Django應用程式並開啟它。
  • 在專案中新增了特定的Docker Compose檔案。
  • 基於Docker Compose配置了一個遠端直譯器。
  • 在Docker Compose容器中執行了Django應用程式。
  • 在Docker Compose容器中除錯了Django應用程式的模板。

 

更多資源請檢視【PyCharm入門視訊教程

相關文章