65345
[PythonでDiscordのTRPG用のダイスボットを自作してみた -
Qiita](https://qiita.com/Sashimimochi/items/3cbea852f133fed5d44b)

上記サイトの手順通り、GitからforkしてHerokuで動かそうとしたのですが、

```

    -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
           More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
     !     Push failed
    
```

となってしまい、デプロイすることができません。

念のため、GitHub リポジトリは以下になります。

[RTa-technology/discord_dice_bot](https://github.com/RTa-
technology/discord_dice_bot/tree/94f375e09f96bc8776c33e2cf6a51cd3035a73df)

どなたか原因などわかる方がおられましたらご教授いただければ幸いです。  
よろしくお願いいたします。
CC BY-SA 4.0
2020-04-03T19:52:06.447
65339
2020-04-06T10:21:25.823
2020-04-06T10:21:25.823
19110
37812
question
python git heroku google-api discord
PythonでのBOTの作り方通りに作っても動かない: App not compatible with buildpack
ファイル名が間違っています。 `requirement.txt` ではなく `requirements.txt`
です。この回答を投稿した時点では、元の記事から間違っていますね。

* * *

以下、どのようにしてこれに気付いたかのログです。

まずエラーメッセージを読むと、Python buildpack に合致してない、というエラーが出ています。詳細は
<https://devcenter.heroku.com/articles/buildpacks#detection-failure>
を読めと書いてあるので読みます。

すると Heroku ではそれぞれの buildpack が「自分向けのプロジェクトかどうか」を検出するための detection script
を持っており、これに弾かれると類似のエラーが出ると分かります。

そこで Python buildpack の [`bin/detect`](https://github.com/heroku/heroku-
buildpack-python/blob/61609930c167e04ea4b41027e725ac46f7270e72/bin/detect)
を読んでみました。こう書かれています。

```

    # Exit early if app is clearly not Python.
    if [ ! -f "$BUILD_DIR/requirements.txt" ] && [ ! -f "$BUILD_DIR/setup.py" ] && [ ! -f "$BUILD_DIR/Pipfile" ]; then
      exit 1
    fi
    
```

Python のプロジェクトかどうかを、`requirements.txt`、`setup.py`、`Pipfile`
のどれかがあるかどうかで判定しています。

今回のプロジェクトでは `requirements.txt` を使おうとしています。そこでファイルを確認してみるとファイル名が間違っていると気付きました。
CC BY-SA 4.0
2020-04-04T02:37:32.077
65345
2020-04-04T02:37:32.077
19110
65339
answer