Технология сборки и установки расширений (модулей) Python для поддерживаемых целевых платформ
Многие расширения (модули) для среды программирования Python поставляются в виде платформонезависимого байт-кода и могут быть установлены и использованы на целевых системах любой архитектуры, поддерживаемой ЗОСРВ "Нейтрино". Однако, в тех случаях, когда расширения частично поставляются в виде исходного кода (например, часть внутренних функций написана на языке Си или каком-либо другом), требуется их предварительная компиляция с учётом архитектуры тех целевых платформ, на которых данное расширение будет использоваться.
Технология сборки расширений (модулей) Python для ЗОСРВ "Нейтрино" позволяет автоматизировать процесс настройки окружения для кросс-компиляции. В результате установка модулей может быть выполнена с помощью типовых инструментов, входящих в состав инструментария Python (например, системы управления пакетами pip
).
![]() | Технология кросс-компиляции расширений для Python в составе КР редакции 2020 года является экспериментальной ; в случае возникновения вопросов относительно её применения и функционирования просим обращаться в службу Технической поддержки. |
3.9.0
) ![]() | В случае его отсутствия при первом запуске python-setup-crossenv.sh выполняется автоматическое скачивание данного модуля (необходимо Интернет-подключение) |
/tmp/venv
окружения кросс-компиляции модулей Python под целевую платформу x86
):
# python-setup-crossenv.sh -t x86 /tmp/venv
![]() | Каталог /tmp/venv , указанный в примере, будет создан автоматически |
# . /tmp/venv/x86/bin/activate
![]() | Используется именно команда source (она же "." ), а не запуск скрипта |
cross-python3
(он становится доступным через PATH
после активации кросс-окружения с помощью скрипта activate
, выполненной в предыдущем пункте).
Пример (кросс-компиляция математической библиотеки NumPy):
(cross) $ cross-python3 -m pip install numpy
/tmp/venv/x86/cross/lib/python3.9/site-packages
) на целевую систему (соответственно, в /usr/lib/python3.9/site-packages
с сохранением структуры файлов и каталогов) и проверить их работоспособность.
Предыдущий раздел: Тематические статьи