如何在coding.net上進(jìn)行Flask應(yīng)用部署
在coding.net上部署一個(gè)flask應(yīng)用的過程記錄
- fork別人的一個(gè)flask應(yīng)用,本地已經(jīng)跑起來了,現(xiàn)在把它部署到coding上。
- 想在coding上運(yùn)行,需要多加一個(gè)Procfile文件,官方示例如下
web: gunicorn hello:app -b $VCAPAPPHOST:$VCAPAPPPORT |
其中,hello即應(yīng)用下的主文件,我的是123.py,并且也不需要綁定host和端口,所以我的Procfile文件內(nèi)容是
web: gunicorn 123:app |
- git push把代碼傳到coding
coding說了
“項(xiàng)目必須使用 Pip 來解決依賴,如果項(xiàng)目目錄下沒有 requirements.txt 文件,你必須創(chuàng)建一個(gè),否則項(xiàng)目將無法部署。小提示:可以使用 pip freeze > requirements.txt 命令生成 requirements.txt 文件” |
這里非常的坑,這是之后部署出現(xiàn)的問題
2015-05-09T13:21:40.51+0800 [STG] OUT Could not find a version that satisfies the requirement Werkzeug==0.10.1 (from -r requirements.txt (line 6)) (from versions: 0.1, 0.2, 0.3.1, 0.3, 0.4.1, 0.4, 0.5.1, 0.5, 0.6.1, 0.6.2, 0.6, 0.7.1, 0.7.2, 0.7, 0.8.1, 0.8.2, 0.8.3, 0.8, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9) 2015-05-09T13:21:40.51+0800 [STG] OUT Cleaning up... 2015-05-09T13:21:40.57+0800 [STG] OUT Storing debug log for failure in /home/vcap/.pip/pip.log 2015-05-09T13:21:40.61+0800 [STG] OUT Staging failed: Buildpack compilation step failed 2015-05-09T13:21:40.75+0800 [API] ERR Encountered error: Staging error: failed to stage application: 2015-05-09T13:21:40.75+0800 [API] ERR Script exited with status 1 |
這里原因很明顯,平臺的pip找不到符合requirements.txt里指定的模塊版本來安裝,可以看到列出的可用版本低于指定版本,我想問一句,您用的什么pip源啊,該換換了吧!
折騰了一下,找到一個(gè)簡單方法,把requirements.txt里版本號全刪了,如
- Flask==0.10.1
- gunicorn==19.3.0
- itsdangerous==0.24
- Jinja2==2.7.3
- MarkupSafe==0.23
- Werkzeug==0.10.1
修改成
- Flask
- gunicorn
- itsdangerous
- Jinja2
- MarkupSafe
- Werkzeug
雖然不嚴(yán)謹(jǐn),但是works。
在coding上點(diǎn)擊一鍵部署,***成功運(yùn)行起來了。
博文出處:http://blog.csdn.net/u010211892/article/details/45601467