结论(可以做什么)
您将能够将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命令列表
<表格>
tr>
header>
<身体>
tr>
tr>
tr>
tr>
tr>
tbody>
table>
摘要
git和heroku对初学者来说很难编程。用英语书写会进一步增加粘贴的难度。但是,一旦习惯了它,它将是方便且必不可少的。这里描述的内容是基本的,但是如果您能理解这里写的内容,那么想要使用Python实现的事情范围将会更加广泛。发布Web服务并创建LINE BOT。乐趣在等待。
参考信息
[面向初学者]使用Python在Heroku环境中轻松进行LINE Bot开发
在Heroku上定期执行Weather Python
检查Heroku上Dyno的用法
推送似乎不是Heroku上的git存储库时该怎么办
[Git]新工程师,git push
之路