Google Cloud使用筆記(一):使用Compute Engine部署Python程式

Yanwei Liu
5 min readJan 5, 2019

--

20200224更新:目前多了直接選擇預先設定好的VM映像檔直接開機的功能(例如:深度學習整合包,開機直接就可以進行模型訓練)

架設Google Cloud伺服器

依照下文兩篇文章(相互參考)建立好VM執行個體後,點擊SSH連線至伺服器當中

#必須使用Chrome瀏覽器
#Ubnutu版本選18.04

上傳python程式

安裝 PIP (PIP可用來安裝其他Python套件)

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
sudo apt-get install python3-distutils
sudo python get-pip.py

安裝套件

python -m pip install --user 套件名稱  #安裝到user資料夾 
sudo python -m pip install 套件名稱 #安裝到系統目錄
#上面兩個指令二選一即可

執行Python程式

python 檔名.py #執行程式#若有出現Non-ASCII character 'xe5' in file錯誤
https://blog.csdn.net/geekmanong/article/details/50514984
請在程式的第一行加上:
# -*- coding: UTF-8 -*-

設定Python程式排程執行:使用Linux的crontab指令

crontab指令:grep CRON /var/log/syslog*  #查看crontab運作情形crontab -e                  #編輯目前正在GCP上排程的程式(用來新增排程)crontab -l                  #查看目前有在GCP排程的程式crontab -r                  #刪除所有在GCP排程的程式#搭配crontab guru 看出程式實際執行的時間點為何
-------------------------------------------------------
自動排程步驟:
1.輸入crontab -e後,先刪除所有註解再進行以下步驟
2.新增指令(以下指令二選一,用於設定時間)0 */3 * * * /usr/bin/python /home/ccs_nknu/pm25.py #3小時執行1次程式
*/1 * * * * /usr/bin/python /home/ccs_nknu/pm25.py #1分鐘執行1次程式
*/60 * * * * /usr/bin/python /home/ccs_nknu/pm25.py #60分鐘執行1次程式
3.按下Ctrl+X離開4.出現Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
輸入Y(yes),進行保存。
5.出現File Name to Write: /tmp/crontab.IJMcp4/crontab。點擊Enter6.輸入grep CRON /var/log/syslog*進行檢查,若沒什麼異常,就是成功了。#注意路徑的設定要用/usr而不是/user,否則無法順利執行python程式-----------------------------------------------------
解決(CRON) info (No MTA installed, discarding output)
#加入>/dev/null 2>&1
例如:
*/1 * * * * /usr/bin/python /home/ccs_nknu/pm25.py >/dev/null 2>&1
輸入crontab -e
*/60 * * * * /usr/bin/python /home/ccs_nknu/PM25.py #60分鐘執行一次

--

--