Задать вопрос

Как разместить Telegram-бота на Python в Heroku?

Здравствуйте!
Я пока новичок в кодинге и тем более во всем, что связано с хостингами и серврами. Поэтому я спрашиваю довольно простые вещи и прошу отвечать мне также простым языком.
Написал простенького бота-помощника в облачной IDE Cloud9. Решил разместить его на Heroku, так как присутствует бесплатный тариф, которого мне хватит на долгое время.
Стал читать на Хероку туториал по запуску python-приложения ( https://devcenter.heroku.com/articles/getting-star... ), но к сожалению не сумел сам разобраться.
Бот очень простой, состоит из 3 питон-файлов и одного текстового файлика для памяти. Кроме стандартных средств Питона используется библиотека pyTelegramBotAPI. Вот ссылка на папку в Я.Диске - там все файлы ( https://yadi.sk/d/nAn6iK8N3E38Tj ). Чтобы запустить нужно в файл config.py вписать корректный токен бота и путь к текстовому файлу, играющему роль БД.
Дальше собственно: $ python3 bot.py

По инструкции Хероку нужно положить в корневую папку программы файл requirements.txt, runtime.txt и Procfile, но я плохо понимаю, как я должен их заполнить.
При попытке запуститься получаю такую ошибку:

881c65a420c44483ab8d38f8b9ae1914.PNG

Очень прошу максимально подробную инструкцию, желательно со скриншотами или видео - как превратить папку с 4 файлами в завернутое на Хероку приложение.
Заранее спасибо!
  • Вопрос задан
  • 7857 просмотров
Подписаться 7 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@Shuhov
В файле requirements.txt необходимо указать модули, которые необходимы для работы приложения. Сгенерировать этот файл можно автоматически с помощью модуля pipreqs, например. Именно по наличию этого файла в корне загружаемого приложения heroku определяет, что в вашем приложении используется python. В вашем случае heroku не может определить язык по-умолчанию, видимо, что-то не так с файлом (проверьте имя, как вариант).

В runtime.txt описывается версия python, с помощью которой приложение будет запускаться (например, для 2.7 - python-2.7.13, для 3.6 - python-3.6.0) - https://devcenter.heroku.com/articles/python-runtimes.

В Procfile указывается команда для запуска приложения.
Ответ написан
@deny
Вам необходимо указать для Heroku язык программирования, на котором написан ваш скрипт:
$ heroku buildpacks:set heroku/python
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект