如何在coding.net上进行Flask应用部署

如何在coding.net上进行Flask应用部署

2015-05-12 15:39:45

云计算 Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。本篇博文记录了博主在coding.net上部署一个flask应用的过程。

在coding.net上部署一个flask应用的过程记录

  • fork别人的一个flask应用,本地已经跑起来了,现在把它部署到coding上。
  • 想在coding上运行,需要多加一个Procfile文件,官方示例如下
  web: gunicorn hello:app -b $VCAPAPPHOST:$VCAPAPPPORT

其中,hello即应用下的主文件,我的是123.py,并且也不需要绑定host和端口,所以我的Procfile文件内容是

  web: gunicorn 123:app
  • git push把代码传到coding

coding说了

“项目必须使用 Pip 来解决依赖,如果项目目录下没有 requirements.txt 文件,你必须创建一个,否则项目将无法部署。小提示:可以使用 pip freeze > requirements.txt 命令生成 requirements.txt 文件”

这里非常的坑,这是之后部署出现的问题

  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源啊,该换换了吧!

折腾了一下,找到一个简单方法,把requirements.txt里版本号全删了,如

  
 
 
 
  1. Flask==0.10.1 
  2.  
  3. gunicorn==19.3.0 
  4.  
  5. itsdangerous==0.24 
  6.  
  7. Jinja2==2.7.3 
  8.  
  9. MarkupSafe==0.23 
  10.  
  11. Werkzeug==0.10.1 

修改成

  
 
 
 
  1. Flask 
  2.  
  3. gunicorn 
  4.  
  5. itsdangerous 
  6.  
  7. Jinja2 
  8.  
  9. MarkupSafe 
  10.  
  11. Werkzeug 

虽然不严谨,但是works。

在coding上点击一键部署,***成功运行起来了。

博文出处:http://blog.csdn.net/u010211892/article/details/45601467

 

THE END