在 GCP (Windows Server) 使用 Apache Server + Flask + Python + LINE BOT (Part 2— 安裝 Python 虛擬環境 + Flask,透過外網訪問)
目的:在 Windows Server 使用 Python Flask 作為 LINE BOT callback 使用
一、安裝 virtualenv、 virtualenvwrapper-win
二、使用 Python 虛擬環境
三、安裝 Flask
四、測試 Flask
五、通過外網訪問
一、安裝 virtualenv、 virtualenvwrapper-win
virtualenv 是 Python 的虛擬環境
$ pip install virtualenvor 如果你有多版本的 Python
$ python3 -m pip install virtualenv
virtualenvwrapper-win 是仰賴 virtualenv。用 virtualenv 建立的虛擬環境必須 cd 到指定資料夾下的目錄才能利用 activate 啟動,如果虛擬環境太多,每次啟動就非常麻煩,因此可以使用 virtualenvwrapper 解決這個問題
$ pip install virtualenvwrapper-win
二、使用 Python 虛擬環境
2-1. 建立 Python 虛擬環境
$ mkvirtualenv [venv-name]or 如果你有多版本的 Python
$ virtualenv -p C:\Python27\python2.exe [venv-name]
2-2. 啟動剛剛建立的虛擬環境
進入虛擬環境:首先 [venv-name] 資料夾下的 Scripts
啟動虛擬環境
$ activate/activate.bator 如果有安裝 virtualenvwrapper-win,就可以直接
$ workon [venv-name]
退出虛擬環境
$ deactivate/deactivate.bator 如果有安裝 virtualenvwrapper-win,就可以直接
$ deactivate
其他指令
刪除某個虛擬環境
$ rmvirtualenv [venv-name]列出所有的虛擬環境
$ lsvirtualenv
三、安裝 Flask
進入虛擬環境後,安裝 Flask
$ pip install flask
四、測試 Flask
先新增一個簡單的 Flask Hello World,如下圖
五、通過外網訪問
- 設定 GCP VM 防火牆規則 - 允許的通訊協定/通訊埠,新增 80 port
2. 設定 Windows Server 內部的防火牆規則
2.1 打開設定 (Setting) — Windows 防火牆
2.2 進階設定
2.3 輸入規則 — 新增規則 — (把要開通的 port 打上去) 完成!
就可以在輸入規則上看到你剛剛設定的 port 了
3. 修改 Flask 程式碼 app.run(host, port)
在 app.run() 中新增參數 host = “0.0.0.0” 和指定的 port = 80 (你也可以改其他port)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello World"
if __name__=="__main__":
app.run(host="0.0.0.0", port=80)
4. 測試一下外網連不連的到,在瀏覽器上輸入你的 IP 和 PORT
這樣就結束了嗎?
... 並沒有
LINE BOT 的 Callback 在另一篇討論 ...QQ
Reference
- windows下搭建Python virtualenv\virtualenvwrapper虚拟环境
2. Python Flask Windows Development Environment Setup