Skip to content

Загрузка телеграм бота на сервер. Подробные шаги загрузки файла *.py на бесплатный сервер PythonAnywhere

загрузка телеграм бота на сервер

Самым сложным для меня, как для новичка, была загрузка телеграм бота на сервер, чтобы он начал полноценно работать. В этой статье хочу рассказать подробные шаги моего самого первого опыта. Для теста я выбрала бесплатный сервер.

Существует множество бесплатных виртуальных серверов для тестирования ботов. Вот некоторые из них:

  1. PythonAnywhere – облачный хостинг для приложений Python. PythonAnywhere предоставляет бесплатный тарифный план, который позволяет развернуть одно приложение Python.
  2. Kamatera – есть тестовый период на месяц. Отличное решение для начального теста, а после пролноценной работы.
  3. Heroku – платформа для развертывания и хостинга приложений, которая предоставляет бесплатный тарифный план. Он позволяет развернуть приложение на серверах Heroku и бесплатно запустить до 5 приложений.
  4. Amazon Web Services (AWS) – облачная платформа, которая предоставляет бесплатный тарифный план, включая Amazon EC2 (виртуальные серверы), Amazon S3 (хранилище данных) и другие сервисы.
  5. Google Cloud Platform (GCP) – облачная платформа, которая также предоставляет бесплатный тарифный план, включая Google Compute Engine (виртуальные серверы) и другие сервисы.
  6. Microsoft Azure – облачная платформа, которая также предоставляет бесплатный тарифный план, включая виртуальные машины и другие сервисы.

PythonAnywhere

Для первого тестирования своего бота я выбрала PythonAnywhere. Регистрация интуитивно понятная.
Примечание: в бесплатном тарифе очень мало процесорных минут, так что этот тариф больше подходит для тестов, а не для полноценной работы. Для полноценной работа я рекомендую платные сервера https://zomro.com/

ШАГ 1. Начало работы. Установка виртуальной среды

1. Перейдите в Dashboard и запустите консоль. Для этого нажимаем New Console – $ Bash

2. Выполните следующую команду в консоли, чтобы установить инструмент virtualenv (инструмент для создания виртуальной среды):

3. Создайте виртуальную среду. По умолчанию, виртуальная среда создаётся в папке /home/ваше_имя_пользователя/. В этом случае у вас будет возможность установить необходимые пакеты и зависимости для каждого проекта в отдельности, не мешая друг другу. Также это упростит управление проектами, потому что все ваши проекты будут находиться в одном месте.
Эта команда создаст виртуальную среду с именем myenv, используя Python 3.8. Вы можете изменить имя и/или версию Python, заменив myenv и python3.8 соответственно.

Или

Данный скриншот показывает,что все прошло успешно.

загрузка телеграм бота на сервер
Результат в консоли после установки виртуальной среды.

После того, как виртуальная среда будет создана, ее нужно активировать, выполнив команду:

Вы увидите что теперь Вы нахоитесь внутри виртуальной среды. Строка будет начинаться с имени вашей виртуельной среды.

ШАГ 2. Установка библиотек и загрузка телеграм бота на сервер.

Если вы используете бесплатный аккаунт, то доступ к SFTP в нем не доступен.
Поэтому Вам нужно будет обойтись только встроенным файловым менеджером PythonAnywhere.
Он находится по ссылке: https://www.pythonanywhere.com/user/your-username/files/

Если у Вас платный аккаут, тогда Вы можете подключится по SFTP к PythonAnywhere. Для этого Вы можете скачать и установить FileZilla и ввести следующую информацию:

  1. Имя хоста (Hostname) – это обычно указывается в формате your-username.pythonanywhere.com. Вместо your-username нужно указать свой логин на PythonAnywhere.
  2. Имя пользователя (Username) – это также ваш логин на PythonAnywhere.
  3. Порт (Port) – по умолчанию используется порт 22.
  4. Пароль (Password) – это пароль от вашей учетной записи PythonAnywhere.
Больше статей:   Wondershare Video Editor - как вставить свои видеоэффекты

После этого создайте папку для вашего проекта, у меня это weatherbot и загузите в папку нужные файлы.
Все зависимые библиотеки я установила с файла requirements.txt, который просто создала в своем проекте на компьютере. Вот мои шаги для установки библиотек из файл requirements.txt.

Создаем файл requirements.txt

– Установка библиотеки pipreqs

В папке проекта запустить

Файл requirements.txt создан. Его тоже загрузите на сервер PythonAnywhere

Для установки нужных библиотек, перейдите в консоль (раздел “Consoles” в PythonAnywhere), и выполните следующую команду внутри активированной виртуальной среды:

Это установит все библиотеки, перечисленные в файле requirements.txt. Если в процессе установки возникнут ошибки, проверьте, что версии библиотек в вашем файле requirements.txt совместимы со средой Python на сервере.

загрузка телеграм бота на сервер
Консоль после загрузки всех зависимых библиотек

ШАГ 3. Запуск проекта.

Все готова для запуска телеграм-бота на бесплатном сервере. Тут все просто.
Запускаем консоль.
В консоли поочереди набираем
1. Запуск виртуальной среды (где myenv – ваше имя виртуальной среды)

2. Переходим в папку проекта (где folder_bot папка вашего бота)

3. Запуск файла бота (где main.py файл вашего бота)

Иииииииии……если Вы на бесплатном тарифе у Вас может быть ошибка:

Чтобы не было этой ошибки в рамках бесплатного тарифа нужно в код вашего бота добавить следующее:

После того как вы внесли изменения в файл бота, его снова нужно загрузить на сервер, вместо предыдущего и повторить шаги 1-3 для запуска бота.

Вот теперь действиетльно все!
Ваш бот работает!!!!

Leave a Reply

Your email address will not be published. Required fields are marked *