這篇文章主要是要教大家如何使用 Pycharm remote interpreter ( Using Docker ),這邊需要注意的是,
要使用此功能,你的 Pycharm 必須是 Professional 的版本。
為什麼我會突然介紹這個呢?原因是之前我在 windows 上用 Anaconda 安裝套件 ( Channels ) 時,
一直有問題,於是我就想說不然用 docker 來解決,當然同時也需要 debug 阿:weary:
於是就有了這篇文章的教學:smiley:
首先,要先對 docker 有一些基本的認識,如果你對 docker 非常的陌生,可以參考我之前寫的文章
基本上,這篇的範例就是用上面文章的範例下去教學的:smirk:
我主要是參考 Configuring Remote Interpreter via DockerCompose 這篇文章,但步驟不一樣相同,接下來的教學,
使用的環境是 Win10,如果你是 MAC 用戶,也是可以使用 ( 只是手邊目前沒有 MAC,但確定可以使用 ,方法大同小異 )。
先設定,將 Expose daemon... 這個打勾
File -> Settings ( 或是快捷鍵Ctrl+Alt+S
) 設定以下參數
再找到 Project Interpreter,選擇 Add Remote
接下來,請選擇 Docker Compose (這邊使用 docker-compose 來建立環境 ),
其他參數,理論上預設就會幫你帶入了,
先來介紹一下資料夾內的東西,
基本上就是將目錄底下的檔案複製到 docker 容器裡面以及安裝 requirements.txt。
裡面也很簡單,就是一個 postgres database,然後一個 app 啟動 django。
docker_remote_interpreter/settings.py
settings.py
裡面必須設定兩個東西,第一個是 ALLOWED_HOSTS
這部分,
ALLOWED_HOSTS = ["*"]
( 這邊提醒一下大家,設定 *
只是為了測試方便而已 )。
第二個部分是將你的 db 修改成 postgres
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'password123',
'HOST': 'db',
'PORT': 5432,
}
}
接下來就是等,可能需要等一小段時間 ( 尤其是第一次,先去泡杯咖啡吧:relaxed: )
當他跑完之後,按 ok ,會看到下圖
右下角
等全部都執行完之後
填入 0.0.0.0
,以這個範例來講, port 就是 8000
直接開始 debug
啟動成功
可以使用 docker ps
確認
最後我們直接進去容器 migrate
python manage.py makemigrations
python manage.py migrate
直接瀏覽,http://localhost:8000/ ( 有時候可能會是 http://0.0.0.0:8000/,要看你電腦的 host 設定 )
觀看容器內的 log ( 我們的確有成功連線上 )
到這邊就完成了:smile:
整體來看,相信大家應該會覺得用 Pycharm 設定 remote-interpreter 蠻簡單的,但他也有缺點,就是如果你今天
需要增加一個套件,你的 docker 就需要重新 build。
可能有人會問,有沒有 vscode 的 remote-interpreter 教學呢 ? 這是個好問題,我後來也有嘗試用 vscode 設定,但
設定一直失敗,如果有人成功,麻煩可以再指點一下,我會把教學補進文章裡面:grin:
- Python 3.6.4
- Win10
文章都是我自己研究內化後原創,如果有幫助到您,也想鼓勵我的話,歡迎請我喝一杯咖啡:laughing:
MIT licens