[Python]如何在Heroku上部署Python程序


结论(可以做什么)

您将能够将Python程序部署到Heroku

背景

我已经开始学习Python,并且有更多使用Heroku的机会。每次部署时,我都会检查操作方法。您可能会得到一个错误。通过总结一系列流程,这次我将对其进行总结,以便在部署Heroku时可以修正自己的知识并检查收集的信息。

总流量

①创建一个项目文件夹
②准备要在项目文件夹中部署的文件
?Main.py(程序文件)
?Runtime.txt(列出的Python版本)
?Requirements.txt(列出要安装的模块)
?Procfile(描述如何执行程序)
*配置因情况而异
③在Heroku上创建应用程序
④部署到Heroku

部署

①创建一个项目文件夹

1
2
# 任意のフォルダを作成
mkdir project

②准备要在项目文件夹中部署的文件
?main.py(程序文件)
Python可执行文件

?runtime.txt(列出Python版本)
描述Python版本的文本文件

1
2
# 環境に合わせてPythonのバージョンを記載
echo python-3.6.5 > runtime.txt

*描述Heroku支持的版本

?requirements.txt(列出要安装的模块)

描述与可执行文件相关的模块

1
2
# 関連モジュールの一覧を作成
pip freeze > requirements.txt

*将输出所有本地安装的模块,因此请删除不必要的模块

?Procfile(描述如何执行程序)
文件

描述了如何执行程序

1
2
# なんの言語で何を実行するかを記載
echo web: python main.py > Procfile

③在Heroku上创建应用程序
?登录到Heroku并创建一个应用程序

1
2
3
4
# herokuにログイン
heroku login
# アプリを作成(createの後に名前を入れることで任意の名前をつけられる)
heroku create

④部署到Heroku
?创建存储库并链接远程存储库(仅在最开始)

1
2
3
4
# gitの初期ファイルを作成
git init
# ローカルリポジトリに結びつくリモートリポジトリを設定
heroku git:remote -a アプリ名

?部署
如果执行程序等发生变化,请单击此处↓

1
2
3
4
5
6
# 変更したファイルをインデックスに登録
git add .
# 変更したファイルをリポジトリに書き込む
git commit -am "コメント"
# herokuにローカルで作成したファイルをpush(デプロイ)
git push heroku master

错误处理

当我运行git push heroku master时,出现以下错误

1
2
3
4
5
6
7
git push heroku master

fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

使用以下命令添加参考

1
git remote add heroku https://git.heroku.com/アプリ名.git

环境变量设置

设置诸如LINE

之类的标记时

1
heroku config:set LINE_CHANNEL_ACCESS_TOKEN=***********************

定期执行程序

使用heroku调度程序(heroku调度程序)

作为附件提供。易于在控制台上设置和使用。
*使用附加组件

时,需要先注册信用卡

时间为世界标准时间,因此日本时间加9小时。

确认Dyno使用情况

使用免费计划检查您想使用的Dyon的使用情况

1
heroku ps

其他heroku命令

heroku命令列表

<表格>

命令

目录


<身体>

heroku注销

注销

heroku列表

显示应用列表

heroku日志

检查日志

heroku配置

检查环境变量

heroku运行" command"

执行命令


摘要

git和heroku对初学者来说很难编程。用英语书写会进一步增加粘贴的难度。但是,一旦习惯了它,它将是方便且必不可少的。这里描述的内容是基本的,但是如果您能理解这里写的内容,那么想要使用Python实现的事情范围将会更加广泛。发布Web服务并创建LINE BOT。乐趣在等待。

参考信息

[面向初学者]使用Python在Heroku环境中轻松进行LINE Bot开发
在Heroku上定期执行Weather Python
检查Heroku上Dyno的用法
推送似乎不是Heroku上的git存储库时该怎么办
[Git]新工程师,git push

之路