Загрузка бота discord (python) в Heroku: приложение несовместимо с ошибкой buildpack (я знаю, что об этом много спрашивали)

#python #mongodb #github #heroku #discord.py

#python #mongodb #github #heroku #discord.py

Вопрос:

В настоящее время я пытаюсь создать бота discord (на python) и, создав рабочую локальную версию, хочу загрузить ее на Heroku.

Я решил подключить его через github, чтобы я мог вносить изменения и автоматически обновлять его, в отличие от использования метода heroku github для внесения изменений.

Я искал ответ, но ничего из того, что я делаю, не помогает. Я признаю, что я совсем новичок в этом, так что, возможно, я допустил действительно глупую ошибку.

Каждый раз, когда я пытаюсь развернуть ветку, я получаю сообщение об ошибке, что приложение несовместимо со buildpack, я перепробовал все исправления, которые смог найти в Интернете, и даже попробовал метод heroku github для внесения изменений с помощью heroku CLI, но ничего не работает.

Мой репозиторий в настоящее время состоит из:

Bot.py (скрипт discord bot)

Procfile

 worker: python Bot.py
  

Requirements.txt

 pymongo==3.10.1
git https://github.com/Rapptz/discord.py
  

runtime.txt

 python-3.7.8
  

Я экспериментировал с избавлением от pymongo на случай, если это вызывало проблему, но избавился от него удалил все в самом скрипте бота, который ссылался на него, но я все еще получаю ту же ошибку.

Я использую python buildpack, и полная ошибка, которую я получаю, это

 -----> 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
  

Я добавил два дополнения в свое приложение с помощью веб-приложения (postgres и mLab), поскольку подозреваю, что захочу использовать их в качестве альтернативы моей текущей настройке доступа к MongoDB.

Возможно, я сделал что-то глупое, но если кто-нибудь может помочь, я был бы очень благодарен!

Комментарии:

1. Ваш файл на самом деле называется Requirements.txt с большой R буквы или requirements.txt ? Находится ли оно в корневом каталоге вашего проекта?

2. Ааааа, вы правы, хотя я изменил R на r локально и отправил его на github, на самом деле он не обновлялся на самом github.

3. Большое вам спасибо!

Ответ №1:

Как насчет того, чтобы добавить discord.py на ваш requirements.txt поскольку я не вижу его там, он будет собран, но не сможет запустить бота.

 discord.py==1.4.1 
  

Heroku поддерживает pipenv, вы можете создать среду на своем локальном компьютере в том же корневом каталоге, поэтому, когда вы нажимаете на GitHub, файлы среды находятся там. в этом нет необходимости requirements.txt . Основное руководство