Flask-heroku部署相关问题

将小项目部署在Heroku 创建并配置好数据库表之后就可以重启程序了此时程序已经部署好在运行了,要通过执行deploy命令才能正常使用0.在阅读《Flask Web开发:基于Python的Web应用开发实战》书写了个小博客,在第十七章时发现作者写的不是很详细,书中信息及网络上的信息也已经不是适用了。 1.注册Heroku账户 注册账户需要翻墙,没有翻墙会遇到无法查看不是机器的验证码。建议使用谷歌邮箱,该网站不支持用国内邮 阅读详情

个人认为狗书最难的地方就是部署,尽管我这是第3次部署,但还是花了一天的时间才完成。期间遇到了各种坑爹的问题,一卡就是4,5个小时,有时候你上stackoverflow去找也找不到解决方法。因此这一章主要记下我跌到过的坑

1 创建仓库

如果你的程序没有托管在Git仓库中,那么必须在自己电脑上创建一个仓库。

cd到程序所在位置,我这里是/xhu
git init 

或者

git init xhu  #在xhu目录下创建.git文件

这里写图片描述

.git 文件就是仓库,和你自己写的程序在一个目录中

2 下载heroku客户端

根据书上的网址下载,里面有个git安装选项,如果你自己已经安装了git,可以把这个选项勾掉。我自己因为之前部署的时候已经下载过heroku,但是又重新下了一遍。虽然在安装过程中有自动添加到Path中,但是当我运行git-cmd的时候,有多次执行’heroku’显示不可执行文件,我反复确认了多次Path,发现heroku就在path内,怎么老报错呢?后来才知道,我电脑上有2个heroku,之前的放在C盘,这次放在F盘,两个都在Path里,可能冲突了。于是我把之前C盘的删除,完美解决问题。

3注册heroku账号

这个没什么说的,登录网站,注册账号。然后在命令行直接输”heroku login”这里写图片描述

4 ssh公钥

这个书上说login会自动创建并上传,我这边是在F盘顶部目录有个ssh文件夹这里写图片描述

里面有个config文件

这里写图片描述 可能里面的内容需要改写,如果是ssh相关报错的话

5 用heroku客户端创建程序

heroku create <Appname>

之后会得到两个URL,左边的是你的网页URL,用来访问。右边的是Heroku为你分配的Git服务器URL。书上是自动将这个服务器地址添加为本地Git仓库的远程服务器。但是这里我们可能需要手动添加

cd 到.git文件夹所在的目录 (即cd xhu)
git remote add <自定义名称> [url]

[url]:是分配给你的服务器地址,也就是你得到的右边的URL

5配置Postgres数据库(No Such Table问题)

这个数据库配置我卡了6个小时,不是说配置有问题,而是出在我自己的config.py代码中,按照书上说的配置就行。如果你第一次输入

heroku addons:add heroku:postgresql:dev

得到的应该是一个DATABASE_URL,没有颜色URL。而书上得到的是一个棕色URL,如果你也想有个颜色的话,可以再输入一次上面的代码,创建一个新的Postgres数据库,这次就能得到一个有颜色的URL了,之后再把这个有颜色代号的数据库URL赋值给DATABASE_URL。也就是说DATABASE_URL的值就是Postgres数据库了

说下我自己为什么卡了6个小时,我这边Postgres数据库配置没问题,但是我config.py代码中prodconfig指定的数据库url有误,书上是

os.environ.get('DATABASE_URL') or 'sqlite:///'+ os.path.join(database, 'data.sqlite')

我自己为了开发简便,把os.environ.get(‘DATABASE_URL’)去掉了,只留了sqlite部分。而我的.gitignore文件里面是把sqlite类型的文件在push的时候删除的这里写图片描述

这就导致我虽然用heroku config:set FLASK_CONFIG=heroku
指定了使用herokuconfig配置,使用的数据库URL是os.getenv(‘DATABASE_URL’)也就是上面的Postgres数据库,但是我删掉了,也就是说我在heroku端没有数据库。这也就引发了之后的我在deploy之后打开网页,出现”internal server error”,然后查看日志发现总是说”No such table”的原因

6添加依赖文件和Procfile文件

7 改动程序

git add .             
git commit -m '说明'

这两个代码是用来将你所有的改动都提交到本地Git仓库中的,包括你第一次部署,先运行这两行代码把你的程序都加到Git仓库中,还有就是你要添加功能时,代码有改动后,再次运行这两行代码,把改动提交上去。

8.gitignore

.gitignore文件里列出的都是些你不想push的文件,创建方式是选择你要创建的地方,鼠标右键,然后选择git bash here ,跳出来命令行后输入 touch .gitignore

9Push

本地仓库提交好后就该Push到远程服务器上了,也就是你之前

git remote add <自定义名称> [远程服务器URL]

你之前已经命名了远程服务器的名称了,这里我们就命名为x吧,下面就是把本地仓库push到x中

git push x master

之后再按照书上最后的2步就成功了。

10 找错

当网站上线后,出现错误时,使用heroku logs或heroku logs -t来查找错误

11 Can’t run more 1 Free size dynos问题

当运行

heroku run python manage.py deploy

报上面的错误。原因应该是dynos超了,dyno是Heroku的计算单元,依次收取服务费的。既然超了,解决方法就是释放掉一些

heroku ps   #得到含有[run:数字]代码,如run:988
heroku ps:stop [run:数字]   #自己看下run后面数字是多少,替换就行

12No default language 问题

当运行git push [远程服务器名] master时,报上面的错误。应该是requirements依赖包的问题,看下命名和里面的代码

Flask + Gunicorn 部署到 Heroku服务器,sqlite数据库,loggins一 简单部署步骤 1. 准备本地 Flask applicaion venv git init .gitignore pip freeze > requirements.txt (Heroku服务器会自动安装这个文件内的modules) hello.py from flask import Flask app = Flask(__name__) @app.route('/ 阅读详情

相关推荐

详细描述一次最新Heroku部署python web项目的完整过程

最近刚敲完一个flask web方面的博客项目,一路走来,断断续续吧,都是利用业余时间学习加上操练来的,工作不忙的时候,就晚上回来练习,从笨方法一书敲起,工作忙的时候,这块就被搁置了,但是自己内心还是没有忘记它,一旦有空的时候,就去把它捡起来接着学习,今天算是操练到狗书的最后一节部署,通过部署的过程,我也记录了下,分享给学习狗书的后来者。1. Heroku云平台:当我们在本地撸完一个Web App的

daixin_me的博客 2317

python3数据库框架_第四章-Python3中Web开发框架flask操作数据库

sqlalchemy 数据库操作在Flask Mega-Tutorial系列的第四部分,我将告诉你如何使用数据库。本章的主题是重中之重!大多数应用都需要持久化存储数据,并高效地执行的增删查改的操作,数据库为此而生。本章的GitHub链接为:Browse,Zip,Diff.Flask中的数据库Flask本身不支持数据库,相信你已经听说过了。 正如表单那样,这也是Flask有意为之。对使用的数据...

weixin_39869197的博客 353

Heroku部署与Flask扩展开发指南

本文详细介绍了如何在Heroku上部署Flask应用,并且提供了关于Flask扩展开发的初步知识。章节内容涵盖了如何管理依赖、使用Heroku命令行工具进行数据库迁移、查看日志、处理部署更新以及如何进行网站优化等。同时,文章也介绍了Flask扩展的命名规则、项目骨架创建以及开源项目的基本要素。

weixin_42613360的博客 457

【Python程序设计】Python 中的环境变量【05/8】

在本文中,我们将揭开 Python 中环境变量概念的神秘面纱,解释它们是如何工作的,为什么它们很重要,以及如何有效地利用它们来增强你的 Python 编程技能。我们将引导您完成实际示例,介绍技术和最佳实践,使您能够设置 Python 环境、配置重要工具的路径或设置脚本所依赖的环境变量。

gongdiwudu的专栏 4074

部署微应用至Heroku的完整指南

本文深入探讨了如何将一个Flask微应用部署至Heroku平台的过程。包括设置环境变量、配置Procfile文件以及使用git命令进行部署。文章详细描述了部署前的准备工作,例如安装依赖项、配置环境变量和Procfile的创建。并展示了部署过程中Heroku的响应信息,以及如何更新应用程序。

weixin_28872035的博客 505

flask-heroku-sample:烧瓶Heroku示例应用程序

烧瓶Heroku样本 一个简单的Python Flask示例应用程序,可以在Heroku上运行。 开发设置 pipenv install pipenv shell python app.py 屏幕截图 部署 heroku create heroku addons:create heroku-postgresql:hobby-dev git push heroku master 注意:确保运行db.create_all()创建表: $ heroku run python Python 3.6.8 (default, Jan 29 2019, 19:35:16) >>> from app

python-dotenv,一款超级实用处理环境变量python库

python-dotenv 是一个非常有用的库,可以帮助你管理项目中的配置变量.它易于安装和使用,能够显著提高配置管理的灵活性和安全性.

python茶水实验室 2469

ISP-全局色调映射(GTM)算法简单实现

色调映射算法,色彩空间转换LAB

notgoodenouf的博客 2242

Python开发者必备:深入掌握os.environ环境变量管理

更多Python学习内容:ipengtao.com在软件开发中,环境变量是操作系统用来配置运行时信息的一种机制。它们通常用于存储配置信息,例如数据库连接字符串、API密钥和其他敏感信息。Python提供了一个强大的工具os.environ来管理环境变量。本文将详细介绍os.environ的使用,包括读取、设置、删除环境变量,以及在实际项目中的应用。环境变量简介环境变量是键值对的形式,存储在操作系统...

涛哥聊Python 3461

AI视频生成提示词工程:结构化公式与实战案例详解

在实际使用 AI 生成视频或图像时,最常遇到的困惑是:为什么我的提示词(Prompt)生成的画面总是不理想?是模型能力不足,还是我的描述有问题?答案往往是后者。提示词工程(Prompt Engineering)并非简单的“翻译”需求,而是一门需要结构化思维和精准描述的技能。它决定了 AI 能否准确理解你的意图,并生成符合预期的视觉内容。 本文将通过两个核心案例,深入拆解提示词的构建逻辑。第一个案例聚焦于“文生视频”,我们将学习如何将一个简单的想法,如“小猫在雪地里玩雪球”,通过结构化公式扩展为一段富有细节和

weixin_30800987的博客 564

R语言WGCNA实战:从基因表达矩阵到模块可视化全流程(附避坑指南)

本文详细介绍了使用R语言进行WGCNA(加权基因共表达网络分析)的完整实战流程,涵盖从基因表达矩阵预处理、软阈值选择、网络构建与模块识别,到模块与表型关联分析及结果可视化的关键步骤。文章重点解析了代码实现,并提供了针对数据质量检查、参数调整等常见问题的避坑指南,帮助生物信息学研究者高效挖掘基因共表达模块的生物学意义。

weixin_29062823的博客 580

ctfd连接mysql_CTFd搭建笔记

其实还有很多其他开源的CTF平台,之所以选择CTFd主要考虑到简便,成本低,DIY几个特性,FBCTF也是个很棒的比赛平台,界面很炫酷,但是资源占用比较大,另外因为被强,部署难度较麻烦,亲测后决定放弃。miniCTF功能不能满足需求。至于想深入了解去CTFd官网巧巧吧!CTFd是一款基于Apache2.0的协议的开源CTF平台,最新版本目前为1.20。该平台功能强大,基本上能够满足目前的CTF竞赛...

weixin_35871890的博客 577

Flink CDC 1.18.1 Oracle 数据同步到postgresql

8、修改Flink的配置文件,主要是各种服务的绑定地址,默认为localhost,统统改为0.0.0.0,如:rest.address: 0.0.0.0 #localhost。将flink-sql-connector-oracle-cdc-3.0.1.jar复制到flink-1.18.1/lib目录中。6、下载 flink-connector-jdbc-3.1.1-1.17.jar,postgresql-42.7.3.jar。7、安装postgresql就不说了,相信你已经有了数据库了。

ynzhangyao的专栏 1800

MLH Flask Hackathon Starter部署指南:Heroku、Docker与生产环境配置

MLH Flask Hackathon Starter是一个专为黑客马拉松设计的Flask应用启动项目,提供了快速开发和部署Web应用的完整框架。本指南将详细介绍如何在Heroku、Docker环境中部署该项目,并进行生产环境配置,帮助开发者快速将应用上线。 [![MLH Flask Hackathon Starter项目logo](https://raw.gitcode.com/gh_mirr

gitblog_00818的博客 799

Qt+OpenGL+Cesium三件套:打造高性能3D GIS桌面应用的5个关键点

本文深入探讨了如何利用Qt、OpenGL和Cesium数据规范构建高性能桌面级3D GIS应用。文章聚焦于五个关键点:架构选型、OpenGL渲染优化、3D Tiles数据解析与调度、内存与多线程管理,以及高级特性实现,旨在帮助开发者在C++生态中打造不依赖网络、运算能力更强的重型3D地理信息客户端。

weixin_28197941的博客 381

电化学-论文分享-NanoStat: An open source, fully wireless potentiostat

本文主要分享论文NanoStat: An open source, fully wireless potentiostat,并记录学习笔记。如果有条件,建议看原文最好。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2876

Flask Web应用30分钟部署到Heroku实战指南

Web应用部署是Python后端开发的关键工程能力,其本质是将本地可运行的WSGI应用,通过标准化流程交付至生产环境。核心原理在于正确配置WSGI服务器(如gunicorn)、环境变量与进程管理机制,并解决Python依赖隔离、端口绑定、静态资源处理等典型问题。技术价值体现在降低运维门槛、保障HTTPS与高可用基础能力,适用于个人项目展示、MVP验证及教学演示等轻量级生产场景。本文聚焦Flask应用在Heroku平台的端到端上线实践,涵盖gunicorn配置、Procfile编写、环境变量管理及常见H10/

ozzzzzz的专栏 410

PCB仿真软件:Altium Designer_(15).AltiumDesigner的版本控制与项目管理

在进行PCB设计时,版本控制和项目管理是确保设计质量和团队协作效率的关键。Altium Designer 提供了强大的版本控制和项目管理功能,可以帮助设计团队更好地管理和维护项目。本节将详细介绍如何在Altium Designer中进行版本控制和项目管理,包括如何使用版本控制系统、如何管理项目文件、如何进行团队协作等。

kkchenjj的博客 1203

把VS上的flask应用部署到heroku

跟着教程制作并改编了简单的web应用,第一个想到的当然是部署到托管网站。通常来说部署有三种选择,第一种是自己找个机子搭一个服务器,不太现实哈,第二种和第三种其实都算云服务器的内容,一种是租个虚拟机,从头开始搭建环境,常用的azure,aws,还有国内的阿里云等都提供了这样的解决方案,通常被称为 IaaS: Infrastructure-as-a-Service(基础设施即服务)。另一种则是使用更加...

eswang的优快云博客 560

android 9.0Settings休眠时间项(屏幕超时)添加永不休眠功能

在9.0的系统产品开发中,系统中默认息屏时间为1分钟,可以通过在Setting中的息屏时间选项设置对应的息屏时间,但是在开发平板类的产品中,需要实现永不休眠的功能,所以需要在Settings中的息屏时间中添加永不休眠时间这一项来实现这个功能,接下来看息屏时间的相关功能,来添加这个功能

安卓兼职framework和app工程师的博客 2056

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Project FiB部署手册:如何在Heroku和Docker中运行假新闻检测后端服务器

Project FiB是一款用于在Facebook上标记假新闻的Chrome扩展程序,本手册将详细介绍如何在Heroku和Docker环境中部署其假新闻检测后端服务器,帮助开发者快速搭建服务环境。 ## 准备工作:环境与依赖检查 在开始部署之前,确保你的开发环境满足以下要求: - Python 3.5.2或更高版本 - Heroku CLI工具(用于Heroku部署) - Docker Des

gitblog_00864的博客 683

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

heroku 部署flask应用

运行环境:ubuntu 14.04 ; python 2.7.6; git 2.7;遇到bug : 1 ,heroku login 无法登陆 2,本地模拟heroku 测试软件foreman无法安装使用: 未解决 3,数据库updagrate 报错 ————————-越来越帅的分割线——————————————-1 ,建立自己的本地git仓库,因为heroku是利用gi

happy_bigqiang的博客 4096

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

pytorch flask_pytorch flask postgresql heroku部署的图像建议

pytorch flaskDuring the last weeks I have implemented an item-to-item image recommender system that uses PyTorch’s pretrained Resnet18 convolutional neural network to generate comparability through fe...

weixin_26704853的博客 477

使用 PyWebIO 和 Flask 在 Heroku 上部署机器学习模型

本视频将讲解如何将使用 Pi、Web、IO 和 Flask 开发的机器学习模型部署到 Heroku 平台。 视频内容概要: 回顾: 首先回顾了之前视频中使用 Pi、Web、IO 和 Flask 部署机器学习模型的方法,并介绍了 Pi、Web、IO 的概念以及相关文档。 需求: 观众要求将模型部署到 Heroku 平台,以方便使用。 项目: 本视频将使用一个汽车价格预测的示例项目进行演示。 本...

krishnaik06的博客 270

MLH Flask Hackathon Starter完整教程:从零到部署的5个关键步骤

MLH Flask Hackathon Starter是一个专为黑客马拉松设计的Flask应用启动项目,它提供了完整的项目结构和必要组件,帮助开发者快速搭建Flask应用并部署上线。本教程将通过5个关键步骤,带你从环境准备到成功部署,轻松掌握这个强大工具的使用方法。 [![MLH Flask Hackathon Starter项目标志](https://raw.gitcode.com/gh_mi

gitblog_00959的博客 764

问题排查手册:常见VirtualBox、Heroku部署错误的解决方案

GitHub 加速计划(te / Templates-Boilerplates)提供了一系列精心维护的项目模板,帮助开发者专注于提升编码技能而非配置环境。本手册将详细介绍使用过程中可能遇到的VirtualBox安装错误和Heroku部署问题,并提供简单有效的解决方案。 ## VirtualBox常见错误及解决方法 ### Windows系统安装VirtualBox失败 在Windows系统安

gitblog_00953的博客 423
上一篇: Flask-REST架构
下一篇: git
PythonKidDz
博客等级 码龄10年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值