小编典典

Heroku / Python无法检测到set buildpack

python

我是Django新手,我创建了一个应用,并希望使用Heroku进行部署。但是,当我这样做时git push heroku master(我遵循Heroku的入门知识),这就是我得到的:

Counting objects: 36, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (33/33), done.
Writing objects: 100% (36/36), 19.22 KiB | 0 bytes/s, done.
Total 36 (delta 3), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote: 
remote:  !     Push failed
remote: Verifying deploy....
remote: 
remote: !   Push rejected to dry-waters-63931.
remote: 
To https://git.heroku.com/dry-waters-63931.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/dry-waters-63931.git'

我的根目录:

├── assignment
├── household_management (django app)
├── templates
| 
├── db.sqlite3
|
├── manage.py

如果你们能提供帮助,我将不胜感激。我现在真的很沮丧


阅读 212

收藏
2021-01-20

共1个答案

小编典典

您需要添加一个requirements.txt文件,其中包含运行应用程序所需的所有模块。

您可以pip freeze > requirements.txt将所有模块冻结到一个文件中。我只建议您在使用virtualenv时执行此操作,因为否则它将添加所有模块。

无论如何,只需确定您的应用程序需要哪些模块,然后创建一个名为的文件requirements.txt并将其放在您的应用程序目录中即可。

需求文件的语法如下:

package name == version #
package name == version #
package name == version #

注意:指定特定版本号是可选的。

这是一个示例需求文件(从教程中获取):

Flask==0.11
Jinja2==2.8
gunicorn==19.6.0

不要忘记提交您的requirements.txt

2021-01-20