Следующая инструкция написана для сборки проекта и для запуска его с помощью Python 3.6.
К сожалению, инструкция по установке зависимостей из файла README.md с помощью лишь только pip install не работает в современных Linux с версиями python значительно выше требуемой 3.6 (например, в Ubuntu 23 стандартным пакетом, на начало 2024 года, является Python 3.11). Проблема возникает с устаревшими зависимостями, например пакет Quamash не поддерживается версиями python выше 3.7.
Для запуска и сборки сервера нам потребуется локальная версия python 3.6, локальная версия virtual environment и подготовка их к работе по следующей инструкции. Системные файлы Linux трогать не будем, во избежание проблем с совместимостью с другими программами и актуальными пакетами Ubuntu. Соберём комплект в отдельной папке.
Собираем Python 3.6 в Linux из исходных кодов.
# переходим в папку, в которой соберём среду для запуска сервера дронов
cd /path/to/your/directory
# создадим в ней директорию для python3.6
mkdir python3.6
cd python3.6
# установим зависимости
sudo apt install build-essential software-properties-common libssl-dev \
libffi-dev python3-dev libgdbm-dev libc6-dev libbz2-dev libsqlite3-dev \
tk-dev libffi-dev zlib1g-dev
# скачаем python и соберём его в локальной папке (НЕ СИСТЕМНОЙ!)
# также можно перейти по ссылке https://www.python.org/ftp/python/ и проверить
# более новые версии Python 3.6 (но в Ubuntu 23 сервер запустился в 3.6.15)
wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
tar -xvf Python-3.6.15.tgz
rm Python-3.6.15.tgz
cd Python-3.6.15
# сборка python
./configure --enable-optimizations --prefix=$(realpath ..)/install
make -j $(nproc)
# проверка, что python собрался
./python --version
# установка
make altinstall
# проверка, что python установился в локальную директорию
../install/bin/python3.6 --versionГотовим среду для Python, где он будет локально запускаться и где будут расположены все его зависимости, а также пакеты для сервера дронов.
# возвращаемся в директорию в которой подготовим venv
# по инструкции выше это была директория /path/to/your/directory
cd ..
# готовим среду для Python 3.6 в директории .venv
./install/bin/python3.6 -m venv .venv
# проверяем, что и Python и pip запускаются из директории среды
.venv/bin/python3.6 --version
.venv/bin/pip3.6 --versionПо инструкции выше и python 3.6 и среда для его работы уже должны быть подготовлены, а команды проверки версий должны показывать версию Python 3.6. Продолжаем настройку и запуск сервера дронов.
# возвращаемся в директорию в которой подготовим .venv
# по инструкции выше это была директория /path/to/your/directory
# ЛИБО скачиваем и распаковываем сервер дронов из архива
# wget https://github.com/CopterExpress/clever-show/archive/refs/tags/v0.4-alpha.6.tar.gz
# tar -xzvf v0.4-alpha.6.tar.gz
# ЛИБО скачиваем сервер дронов с помощью git
git clone https://github.com/CopterExpress/clever-show.git clever-show-0.4-alpha.6
# переходим в директорию, где расположен сервер дронов
cd clever-show-0.4-alpha.6/server
# устанавливаем все необходимые зависимости (команда выполняется в директории server!)
../../.venv/bin/pip3.6 install -r requirements.txt
# запускаем
../../.venv/bin/python3.6 server.pyПосле выполнения описанных выше действий, у вас будет сформирован комплект программного обеспечения в директории /path/to/your/directory:
install/bin/,install/lib/и т.п. - директория с Python 3.6.venv/- директория с виртуальной средой для Python 3.6 и с установленными зависимостями сервераclever-show-0.4-alpha.6/- директория с сервером дроновPython-3.6.15.tgzиPython-3.6.15/- архив и директория в которой выполнялась сборка python из исходных кодов (можно удалить)v0.4-alpha.6.tar.gz- архив исходных кодов сервера дронов (можно удалить)
Для запуска Python 3.6 следует пользоваться командой из инструкции выше, либо пользоваться такими путями:
/path/to/your/directory/install/bin/python3.6- путь к программе Python 3.6/path/to/your/directory/install/bin/pip3.6- путь к программе pip 3.6