使用 Python 開發 LeanCloud 云引擎入門教程

hy0180 8年前發布 | 24K 次閱讀 Python LeanCloud Python開發

來自: http://drakeet.me/leancloud-engine-guide

作為獨立應用開發者,可能很多時候沒有能力或者精力再去開發一個為 App 或者網站服務的后端程序,對于這個問題,我的一個解決方案就是使用 LeanCloud 的云引擎功能,通過云引擎,可以在短時間內快速開發出一個穩定、可靠、可升級拓展的服務。正好最近學習了 Python,于是使用 Python 并基于 LeanCloud 的云引擎功能進行了一次實踐,而且由于官方文檔并沒有寫得很好,我碰了幾次壁,而且內容分散在好幾個頁面,所以覺得有必要在此再詳細記錄下并分享給大家。

注:以下部分內容并非完全原創,有的摘自官方文檔,官方文檔鏈接在文末有給出。

零,你得先學會 Python

JS 也是可以的,但由于我這篇文章主講的就是使用 Python 來開發,所以要求至少得懂得 Python。不過不懂也不要緊,只要有興趣肯去學,一個 Python 最多也就一兩周的事情。我也是上一周利用一點點業余時間學了幾下就懂了,畢竟 Python 的名言是“人生苦短,我用 Python”…

一,注冊 LeanCloud 賬號并創建一個應用

關于這點,我就不細說了,這是一個非常簡單直接的過程,沒聽說過 LeanCloud 的同學可以自己上官網查看搗鼓幾下就知道了: https://leancloud.cn

二,進入應用的云引擎頁面

云引擎的入口如下:

進入之后,點擊左側的設置,我們先來自定義一個子域名。進入“設置”頁面之后,可以看到右邊頁面有一個”Web 主機域名“選項,可以填入你想要的子域名名字,比如我在我的這個測試應用的這邊填的是:lunei-dev,那么等到一切都部署完之后,我們要訪問的基本鏈接就是:lunei-dev.leanapp.cn

三,一些準備工作

需要先安裝 LeanCloud 的命令行工具,也就是在終端中使用的。安裝方式是在終端中輸入:

npm install -g avoscloud-code

但由于 npm 已經被顯而易見的不可抗力變為無法訪問的存在,所以我們需要在調用它之前加一點黑魔法,詳情見這篇文章: 利用proxychains在終端使用socks5代理

這篇文章中,作者說的 cp ./src/proxychains.conf /etc/proxychians.conf 其實應該加上 sudo,不然可能會導致沒有權限而復制失敗,檢查方式就是使用 vi 打開 /etc/proxychians.conf 這個文件,如果第一次打開,內容是空的,說明沒有復制成功,因為正常情況下,它有許多默認內容。

搞定 proxychains4 以后,你就可以使用如下命令進行安裝 LeanCloud 的命令行工具了:

sudo proxychains4 npm install -g avoscloud-code

四,創建要部署到云引擎上的應用

我們可以基于 LeanCloud 官方提供的一個 Python 項目模板,其源代碼是在 GitHub 上開源的,使用如下命令:

$ git clone https://github.com/leancloud/python-getting-started.git
$ cd python-getting-started

然后添加應用 appId 等信息到該項目:

$ avoscloud add <APP-NAME> <APP-ID>

上面中,<APP-NAME> 應該替換成你的應用名稱(可以隨意,但最好是和你在第一步中創建的應用名字一樣),<APP-ID> 替換為你的應用 ID,這個 App ID 可以從你的 LeanCloud 應用的這個頁面中獲得:

五,本地運行

首先需要安裝 Python 依賴:

$ sudo pip install -Ur requirements.txt

如果你的電腦中既有 Python 2.7 又有 Python 3,那建議你使用如下命令進行安裝:

$ sudo pip2.7 install -Ur requirements.txt

因為 LeanCloud 的云引擎目前只支持 2.7,而且這么做之后可以避免后續一些可能的問題(俺就遇到)。

另外,這句命令中 requirements.txt 這個文件就是書寫你的項目需要的第三方庫的文件,它里面已經有指定要引入一些第三方庫了。如果你要引入更多第三方庫,最好是把它也寫入這個文件,然后重新運行上面這個命令更新一下。

然后就可以啟動應用了,通過在當前文件夾目錄運行這個命令即可:

avoscloud

窗口會提示輸入 Master Key,該信息可以在 控制臺 / 設置 / 應用 Key 中找到,也就是同第四步那個截圖頁面,在 APP ID 下面。

復制粘貼 Master Key 后,窗口不會有任何顯示,直接按回車鍵確認即可。

應用即可啟動運行: http://localhost:3000

六,部署到云引擎

部署到預備環境:

$ avoscloud deploy

如果你設置了 二級域名,即可通過 http://stg-${your_app_domain}.leanapp.cn 訪問你應用的預備環境(測試環境)。比如我的 http://stg-lunei-dev.leanapp.cn

部署到生產環境:

$ avoscloud publish

如果你設置了 二級域名,即可通過 http://${your_app_domain}.leanapp.cn 訪問你應用的生產環境,比如我的 http://lunei-dev.leanapp.cn

截止到目前為止,LeanCloud 官方的 python-getting-started 這個 demo 或稱模板項目就運行和發布完了,你可以通過你的鏈接訪問到如下頁面:

最后

最后,如果你是 Python 新手,由于這個模板項目是基于 Python flask 框架,我可以給你一個修改這個 python-getting-started  項目的示例,并訪問 http://${your_app_domain}.leanapp.cn/xxxxxx 獲得你指定的返回內容,這樣可以做為 App 的接口服務或稱 API:

同樣是在 python-getting-started 目錄之下,打開 app.py,在頂上新增一行引入:

from flask import request

然后在底下新增一個方法:

@app.route('/get_json', methods=['GET'])
def get_json():
    user_name = request.form['user_name']
    return r'{"hello": "' + user_name + r'"}'

然后保存這個文件,重新在終端中輸入 avoscloud 即可重新運行這個新的服務程序了,你可以在本地訪問 http://localhost:3000/get_json?user_name=drakeet 進行測試,將會返回:

{“hello”: “drakeet”}

參考鏈接:

 本文由用戶 hy0180 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!