Поддерживаемые платформы: Windows®, Linux®, Mac
В этом примере показано, как создать Python® пакет, который использует MATLAB® функция. Можно интегрировать сгенерированный пакет в приложение на Python. В этом примере также показано, как вызвать пакет Python из приложения на Python. Целевая система не требует лицензионной копии MATLAB.
В MATLAB исследуйте код MATLAB, который вы хотите упаковать. В данном примере напишите функцию makesqr.m
следующим образом:
function y = makesqr(x)
y = magic(x);
В командной строке MATLAB введите makesqr(5)
.
Выходные выходы:
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
На вкладке MATLAB Apps, в крайнем правом углу Apps раздела, щелкните стреле. В Application Deployment нажмите Library Compiler.
Также можно открыть приложение Library Compiler из командной строки MATLAB путем ввода:
libraryCompiler
В Type разделе панели инструментов нажмите Python Package.
В Library Compiler окне проекта приложения укажите файлы приложения MATLAB, которые вы хотите развернуть.
В Exported Functions разделе панели инструментов нажмите.
В Add Files окне перейдите к папке примера и выберите функцию, которую вы хотите упаковать. Нажмите Open.
Функция добавляется в список экспортированных файлов функции. Повторите этот шаг, чтобы упаковать несколько файлов в одно и то же приложение.
В данном примере выберите makesqr.m
файл, который вы написали ранее.
В Packaging Options разделе панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение, выбрав один из опций:
Runtime downloaded from web - сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его вместе с развернутым приложением MATLAB. Можно задать имя файла установщика.
Runtime included in package - Сгенерируйте приложение, которое включает в себя инсталлятор MATLAB Runtime. Можно задать имя файла установщика.
Примечание
При первом выборе этой опции выводится запрос на загрузку программы установки MATLAB Runtime.
Поле Library Name автоматически заполняется makesqr
как имя пакета. Переименуйте его как MagicSquarePkg
. Для получения дополнительной информации о требованиях к именованию для пакета Python смотрите Import Compiled Python Packages.
Добавьте файлы MATLAB, чтобы сгенерировать образцы файлов драйвера Python. Несмотря на то, что файлы драйверов Python не нужны для создания пакетов, они используются, чтобы продемонстрировать, как Установить и запустить MATLAB Generated Python Application.
В Samples разделе выберите Create New Sample и нажмите makesqr.m
. Откроется файл MATLAB для редактирования.
% Sample script to demonstrate execution of function y = makesqr(x) x = 0; % Initialize x here y = makesqr(x);
x = 0
на x = 3
сохраните файл и вернитесь к приложению Library Compiler. Для получения дополнительной информации и ограничений смотрите Пример создания файла драйвера.Можно настроить инсталлятор, настроить приложение и добавить дополнительные сведения о приложении следующим образом:
Library information - информация о развернутом приложении. Также можно настроить внешний вид приложения, изменив значок приложения и заставку. Сгенерированный инсталлятор использует эти сведения для заполнения установленных метаданных приложения. См. раздел Настройка установщика.
Additional installer options - путь установки по умолчанию для сгенерированного установщика и выбора пользовательского логотипа. См. раздел «Изменение пути установки».
Files required for your library to run - дополнительные файлы, необходимые для запуска сгенерированного приложения. Эти файлы включены в созданную программу установки приложения. См. «Управление необходимыми файлами в проекте компилятора».
Files installed for your end user - файлы, установленные вместе с вашим приложением.
Чтобы сгенерировать упакованное приложение, нажмите Package.
В диалоговом окне «Сохранение проекта» укажите местоположение для сохранения проекта.
В диалоговом окне Package проверьте, что выбран Open output folder when process completes.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход.
В расположении целевой папки генерируются три папки: for_redistribution
, for_redistribution_files_only
, и for_testing
.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, сгенерированные После Упаковки Функций MATLAB.
PackagingLog.txt
- Файл журнала, сгенерированный MATLAB Compiler™.
compiler.build.pythonPackage
Примечание
Если вы уже создали пакет Python с помощью приложения Library Compiler, можно пропустить этот раздел. Однако, если вы хотите узнать, как создать пакет Python из командного окна MATLAB с помощью программного подхода, следуйте этим инструкциям.
Сохраните следующий код в примере файла с именем makesqrSample1.m
:
x = 3; a = makesqr(x);
Создайте пакет Python с помощью compiler.build.pythonPackage
функции и makesqr.m
файл, который вы написали ранее. Используйте аргументы имя-значение, чтобы добавить образец файла и задать имя пакета.
buildResults = compiler.build.pythonPackage('makesqr.m',... 'PackageName','MagicSquarePkg',... 'SampleGenerationFiles','makesqrSample1.m');
The compiler.build.Results
buildResults объекта
содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.
Этот синтаксис генерирует следующие файлы в папке с именем MagicSquarePkgpythonPackage
в вашей текущей рабочей директории:
samples\makesqrSample1.py
- Образец файла драйвера Python.
GettingStarted.html
- HTML, содержащий информацию об интеграции пакета.
mccExcludedFiles.log
- Файл журнала, содержащий список функций тулбокса, не включенных в приложение. Для получения информации о не поддерживаемых функциях смотрите MATLAB Compiler Limitations.
readme.txt
- Текстовый файл, содержащий информацию о упаковке и интерфейсе.
requiredMCRProducts.txt
- Текстовый файл, содержащий идентификаторы продуктов, требуемых MATLAB Runtime для запуска приложения.
setup.py
- Файл Python, который устанавливает пакет.
unresolvedSymbols.txt
- Текстовый файл, содержащий информацию о неразрешенных символах.
Примечание
Сгенерированный пакет не включает MATLAB Runtime или инсталлятор.
Можно задать дополнительные опции в compiler.build
команда при помощи одного или нескольких из следующих аргументов в виде имя-значение:
'AdditionalFiles'
- Путь к дополнительным файлам для включения в пакет.
'AutoDetectDataFiles'
- Флаг для автоматического включения файлов данных.
'OutputDir'
- Путь к выходной директории, который содержит сгенерированные файлы.
'PackageName'
- Имя сгенерированного пакета.
'SampleGenerationFiles'
- MATLAB выборки файлов, используемых для генерации образцов файлов пакета Python. Для получения дополнительной информации см. Пример создания файла драйвера.
'Verbose'
- Флаг для отображения информации о прогрессе, указывающей на выход компилятора во время процесса сборки.
После создания пакетов на Python можно вызвать их из приложения на Python. Созданное вами приложение Python использует образец кода драйвера Python, сгенерированный во время упаковки. Код драйвера Python вызывает пакеты Python, и он основан на образце файла MATLAB, выбранном на предыдущих шагах настройки.
Эти шаги также объяснены в GettingStarted.html
файл. Прежде чем запускать, убедитесь, что вы устанавливаете и конфигурируете MATLAB Runtime, и что у вас установлен Python.
Скопируйте и вставьте сгенерированный файл кода драйвера Python makesqrSample1.py
от samples
папка в папку, содержащую setup.py
файл.
Используйте системную командную строку, чтобы перейти к папке, которая содержит сгенерированный файл кода драйвера Python и setup.py
.
Установите приложение с помощью python
в командной строке системы.
python setup.py install
В командной строке системы запустите приложение.
python makesqrSample1.py
Примечание
В macOS необходимо использовать mwpython
скрипт. The mwpython
скрипт расположен в
папка. matlabroot
/ интервалmatlabroot
- местоположение установки MATLAB.
Для примера, mwpython makesqrSample1.py
compiler.build.pythonPackage
| deploytool
| libraryCompiler
| mcc
| mwpython