首先先到 google 申請 GCP 服務吧,目前(2018)提供新加入成員一年 & 300 美元的試用額度。
點選免費試用,會要求你填寫信用卡資訊,送出後會收到刷卡通知,之後會在收到退刷,時間到期或是金額用畢會先通知不會自動扣款。
- 申請成功後會自動導向到 GCP 的控制頁面。
點選左上角的服務選單 > 「Compute Engine」 > 「VM 執行個體」。
點選上方的「建立執行個體」。
開始進行虛擬機的設定。
- 設定名稱
- 設定區域:如果想要減少連線延遲,可以選離台灣最近的是 asia-east1,不過區域價格有差,可以自行取捨了。
- 機器類型:使用「微型」或「小型」就可以了。
- 開機磁碟:點選「變更」更換,這邊是選擇「Ubuntu 16.04 LTS」。
- 防火牆:兩個都打勾。
點選「建立」後,需要一點時間等他建立,建立完成後,名稱前方會有綠色的勾勾。
在連線的下拉選單可以選擇不同的連線方式,windows 沒有內建 SSH,所以可以點選「在瀏覽器視窗中開啟」,開啟的終端機就已經幫你連線到雲端 VM 了。
Install
Install python2.7 Pip (on Ubuntu 16.04)
Connect to SSH and Update your System Software
$ sudo apt-get update && sudo apt-get -y upgrade
Install Pip on Ubuntu 16.04
$ sudo apt-get install python-pip $ pip -V >>>pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) $ pip install --upgrade pip
升級 pip 後如果出現 ImportError: cannot import name main,可以做以下操作:
$ cd /usr/bin $ sudo vim pip
# 把下面的三行 from pip import main if __name__ == '__main__': sys.exit(main()) # 換成下面的三行 from pip import __main__ if __name__ == '__main__': sys.exit(__main__._main())
安裝虛擬環境
virtualenv
$ sudo pip install virtualenv $ virtualenv VENV #建立虛擬環境 $ source VENV/bin/activate #進入虛擬環境
安裝 python 3.5
3.5
(VENV) $ sudo apt-get update (VENV) $ sudo apt-get install python3.5 (VENV) $ sudo cp /usr/bin/python /usr/bin/python_bf (VENV) $ whereis python3.5 #看安裝路徑 (VENV) $ sudo rm /usr/bin/python #删除原有的Python连接文件 (VENV) $ sudo ln -s /usr/bin/python3.5 /usr/bin/python #建立指向Python3.5的連結 (VENV) $ PATH=/usr/bin:$PATH #環境變量 (VENV) $ python3 -V 或 $ python --version
python3 的 pip
(VENV) $ curl https://bootstrap.pypa.io/get-pip.py | sudo python3.5 (VENV) $ pip3 -V
安裝 itchat
itchat
(VENV) $ sudo pip install itchat (VENV) $ sudo pip install pillow (VENV) $ sudo apt-get install yum (VENV) $ sudo apt-get install --reinstall xdg-utils
安裝 screen
為了讓服務持續運作,screen 可以在終端機關閉後背景持續執行
install
(VENV) $ sudo apt-get install screen
建立 screen
(VENV) $ screen -S robot
會建立一個新的終端機,若要退出使用
ctrl+a+d
在新終端機進入虛擬環境
$ source VENV/bin/activate #進入虛擬環境
git
把程式 clone 下來吧
install
(VENV) $ sudo apt-get update (VENV) $ sudo apt-get install git
設定你的帳戶
(VENV) $ git config --global user.name "cleo" (VENV) $ git config --global user.email "cleo@gmail.com"
use
(VENV) $ git clone https://github.com/cleoliu/你的專案.git (VENV) $ git init #初始化.git (VENV) $ git fetch origin (VENV) $ git status (VENV) $ git pull
啟用 Robot
執行以下啟用
(VENV) $ cd Chat_Robot (VENV) Chat_Robot $ python Robot.py
- 掃 QRcode 登入唄
- 如果不把 screen 裡的程式給結束都會持續運作的
疑難雜症 Q&A
UnicodeEncodeError: ‘cp950’ codec can’t encode character
$ chcp 65001
yum except KeyboardInterrupt,e: 错误
[root@localhost bin]# yum File "/usr/bin/yum",line 30 except KeyboardInterrupt,e: ^ SyntaxError: invalid syntax
因為 yum 是用 python2 的語法,解法為指向以前的舊版本
$ sudo vim /usr/bin/yum
#!/usr/bin/python import sys try: import yum
將上面的語句改為:
#!/usr/bin/python2.6 import sys try: import yum