如何在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上点击一键部署,最后成功运行起来了。

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


本文作者:佚名

来源:51CTO

相关文章
|
4月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
198 10
|
9天前
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
57 23
|
2月前
|
监控 安全 测试技术
正确配置Flask以提高应用的安全性
正确配置Flask以提高应用的安全性
125 65
|
2月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
2月前
|
JSON 算法 安全
JWT Bearer 认证在 .NET Core 中的应用
【10月更文挑战第30天】JWT(JSON Web Token)是一种开放标准,用于在各方之间安全传输信息。它由头部、载荷和签名三部分组成,用于在用户和服务器之间传递声明。JWT Bearer 认证是一种基于令牌的认证方式,客户端在请求头中包含 JWT 令牌,服务器验证令牌的有效性后授权用户访问资源。在 .NET Core 中,通过安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包并配置认证服务,可以实现 JWT Bearer 认证。具体步骤包括安装 NuGet 包、配置认证服务、启用认证中间件、生成 JWT 令牌以及在控制器中使用认证信息
149 2
|
3月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
184 1
|
3月前
|
监控 安全 API
Docker + .NET API:简化部署和扩展
Docker + .NET API:简化部署和扩展
54 1
|
4月前
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
196 6
|
3月前
|
监控 安全 API
最完美的扩展Docker + .NET API:简化部署和扩展
最完美的扩展Docker + .NET API:简化部署和扩展
107 0
|
4月前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
121 2