В прошлой статье я рассказывала как загрузить файл python.py на беспплатный сервер. Эта статья будет похожа – это пошаговая инструкция как загрузить python файл на сервер хостинга ukraine.com.ua. На этом сервере уже установлен Python и базовые библиотеки.
Я подробно расскажу все шаги как это делала я. Предполагается, что Вы уже зарегистрированы а авторизированы.
Как загрузить python файл на сервер через файловый менеджер.
- Перейдите в файловый менеджер.
- Создайте в корне вашего аккаунта /home/username/ папку Python: правая кнопка мыши – создать каталлог
- В созданную папку Python загрузите проект с компьютера: просто перетащите папку с проектом. Обязательно создайте файл requirements.txt для последующей загрузки нужных библиотек.
SSH-доступ. Подключение и настройка.
- Перейдите в раздел SSH-доступ. Сейчас все будем делать тут. Понадобится ввести много команд.
- Скопируйте в отдельный файл для удобства
- Нажмите кнопку Подключится. Откроется консоль.
- Введите команду SSH. Для этог скопируйте полностью всю строку и вставте: правая кнопка мыши – вставить. Нажмите Enter. При первом запуске нажмите yes. Нажмите Enter.
- Далее скопируйте пароль: правая кнопка мыши – вставить. Пароль в консоли не отобразится. Нажмите Enter.
Вы подключены
Создание виртуальной среды.
Перейдие в директорию Python:
1 | cd Python |
Установите интсрумент virtualenv – инструмент для создания виртуальной среды.
1 | pip3.10 install --user virtualenv |
Проверте, что вы находитесь в папке Python
1 | pwd |
Создайте виртуальную среду.
1 | virtualenv --python=python3.10 myenv |
Если все хорошо, перейдите к пункту активируйте виртуальную среду.
Но у меня выдало такую ошибку
1 | -bash: virtualenv: command not found |
Ошибка говорит о том, что команда virtualenv не найдена на сервере. Это может произойти, если virtualenv не был установлен правильно или его путь не был добавлен в переменную PATH. Попробуйте выполнить следующие действия:
Добавьте путь к virtualenv в PATH. Для этого выполните команду:
1 | echo 'export PATH=$PATH:/home/username/.local/bin' >> ~/.bashrc |
Замените username на имя вашего аккаунта на хостинге
Затем перезагрузите файл ~/.bashrc, чтобы изменения вступили в силу:
1 | source ~/.bashrc |
Попробуйте установить virtualenv еще раз, используя команду:
1 | pip3.10 install --user virtualenv |
После успешной установки попробуйте создать новую виртуальную среду с помощью команды:
1 | virtualenv myenv |
Активируйте виртульаную среду
1 | source myenv/bin/activate |
Установка зависимых библиотек
Напоминаю что у вас уже должен быть создан быть файл requirements.txt
Переходим в папку проекта (до этого мы работали в папке Python). Проект мы перенесли в эту папку в самом начале этой статьи.
Загружаем файл с зависимостями
1 | pip3.10 install -r requirements.txt |
Мне еще отдельно понадобилось установить библиотеку lxml
1 | pip3.10 install lxml |
Запуск файла python на сервере.
Теперь все что осталось – это запустить проект. C помощью уже знакомой команды cd перейдите в папку, где находится файл запуска. В моем случае это папка проекта и переходить уже никуда не нужно. Введите команду, где main.py имя файла
1 | python3 main.py |
Программа должна начать работу. Это будет видно в консоле. Если будут ошибки – они также будут показаны в консоли.
Расписание задач (cron)
В моей программе было важно, чтобы они запускалась по расписанию 2 раза в день. Это можно сделать в разделе хостинга Расписание задач.
Перед тем как создать задачу, нужно создать специальный файл запуска. Создайте на своем компьютере файл с ращрешением sh, у меня это run_bot.sh. Содержимое файла должно быть следующим.
1 2 3 4 | #!/bin/bash cd /home/username/Python/project_folder # замените project_folder на папку проекта source /home/username/Python/myenv/bin/activate # замените username python3 /home/username/Python/project_folder/main.py # замените username и project_folder |
Этот файл Вы можете разместить в любой папке, но логично разместить его в папку проекта. Загрузите его через файл-менеджер.
Теперь можно создать задачу. В разделе Расписание задач нажмите “Добавить задачу“.
В поле Задача введите
1 | /bin/sh /home/username/Python/project_folder/run_bot.sh |
поменяйте в ссылке username и project_folder
Для моей задачи – “каждый день в 8 утра и в 20:00” нужно було внести следующие настройки
– Выбрать “Свой вариант”
– Выбрать “Час” и ввести: 8,20
Нажать сохранить.
Вот теперь все! Программа загружена, установлена и будет работать по расписанию.
