Найти тему

Запуск чат-бота Telegram, написанного на Python, на хостинге Beget (Часть 2: Установка окружения Python версии 3.12.2)

Часть 1: Подготовка

Часть 2: Установка окружения Python на хостинге Beget

Часть 3: Запуск, запуск в фоновом режиме, запуск по расписанию, отключение

На этом этапе у нас имеется:

1. Специальное программное обеспечение PuTTy для доступа по SSH.

2. Техническая информация: адрес сервера, логин и пароль. А также разрешение подключаться к серверу по SSH.

3. Размещенный на хостинге файл с чат-ботом.

Действуем по инструкции хостинга: https://beget.com/ru/kb/how-to/web-apps/python#ustanovka-modulya-python

1. Запускаем PuTTY. В "Host name" вписываем имя сервера. в "Saved Sessons" любое слово. И нажимаем Open.

2. Вводим логин. Жмём Enter.

3. Вводим пароль. Обязательно следите за раскладкой, потому что символы пароля печататься не будут.

Если всё сделано верно, то появится строка приглашения к командам операционной среды сервера.

-2

4. Для установки Python нам сначала нужно зайти в специальное окружение внутри хостинга, которое называется Docker.

ssh localhost -p222

При входе понадобится ещё раз ввести тот же самый пароль.

Если всё сделано верно, то появится строка приглашения к командам операционной среды сервера с надписью (docker).

-3

5. Дальше работа ведется во временном каталоге.

Если он уже существует, то переходим в него командой:

cd ~/.beget/tmp/

Если не существует, то создаём и переходим командой:

mkdir -p ~/.beget/tmp && cd ~/.beget/tmp/

Проверить, существует (создан ли) каталог можно просто через файловый менеджер в панели управления хостингом.

6. Так как у нас версия Python 3.12 (выше 3.10), то по инструкции нам необходимо обновить сначала openssl.

Скачиваем архив командой:

wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz

Распаковываем и переходим в каталог дистрибутива:

tar -xvzf openssl-1.1.1l.tar.gz && cd openssl-1.1.1l

Осуществляем настройку командой:

./config --prefix=$HOME/.local --openssldir=$HOME/.local/ssl '-Wl,--enable-new-dtags,-rpath,$(LIBRPATH)'

Запускаем компиляцию и установку командой:

make -j$((`nproc`/4)) && make install

Можно проверить, что всё установилось корректно командой:

~/.local/bin/openssl version

В ответ должны получить:

-4

7. Теперь устанавливаем сам Python 3.12

Опять переходим во временный каталог:

cd ~/.beget/tmp

Скачиваем архив с нужной версией:

wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz

P.S. Версии можно посмотреть просто по адресу: https://www.python.org/ftp/python/

Распаковываем архив и переходим в каталог с дистрибутивом:

tar -xvzf Python-3.12.2.tgz && cd Python-3.12.2

Конфигурируем (берите из инструкции команду для Python 3.10 и выше):

./configure --prefix=$HOME/.local --with-openssl=$HOME/.local --with-openssl-rpath=auto --enable-optimizations --enable-loadable-sqlite-extensions LDFLAGS="-Wl,-rpath /usr/local/lib"

Устанавливаем:

make -j$((`nproc`/4)) && make install

Проверить корректность установки можно следующей командой:

python3 -V

В ответ должны получить:

-5

Также через файловый менеджер вы увидите, что появилась новая папка python3.12 по адресу ../.local/lib

-6

Окружение Python 3.12 установлено, но его команды будут доступны только после подключения к Docker. Если сейчас закрыть терминал PuTTY, снова в него зайти, но не заходить в Docker, вам будет доступен только Python версии 2.7.17.

8. Устанавливаем библиотеку

Мы пока находимся в Docker, нам доступны команды Python 3.12. Поэтому нам нужно установить библиотеку для чат-бота Telegram.

Выполняем команду:

pip3 install pyTelegramBotAPI

С установкой Python 3.12 и библиотеки для Telegram закончили. В следующей части запустим чат-бот и проверим его работу.

Часть 3: Запуск, запуск в фоновом режиме, запуск по расписанию, отключение