Представляет из себя гибкую и простую структуру файлов и папок. А так же, этот фреймворк имеет систему сборки проекта.
Перейдите в релизы и выберите последний релиз. Там будут архивы (варианты этого фреймворка).
На данный момент, официально фреймворк работает на: Windows, MacOS.
Разницы между фреймворком под Windows и MacOS в разработке и работе нет, кроме некоторых нюансов (см. настройку для macos)
А дальше, разархивируйте архив и переместите из полученной папки содержимое (все файлы и папки) в другую папку, или переименуйте её так как вам удобнее. Обычно, это название вашего проекта.
Теперь, откройте эту папку как папку проекта в редакторе кода.
Все исходные скрипты и коды должны находиться в папке src!

Важно! Проверьте что Python доступен в консоли, запустите файл pypi.bat в папке проекта (фреймворка), чтобы установить все необходимые библиотеки для работы фреймворка.
- Python Program Framework содержит такую структуру:
builddatasrcbuild.batpypi.batrun.bat
Давайте по порядку.
Структура этой папки такая:
-
buildtoolsconfig.jsonpypi.txt
-
Папку
toolsне трогайте, там всего лишь находится python скрипт сборки вашей программы, и в ней же будут храниться
временные файлы и папки при сборке проекта. Просто игнорируйте эту папку. Пожалуйста. -
Файл
config.jsonсодержит настройки сборки вашей программы в виде JSON файла.
Позже вернёмся к содержимому этого файла. -
Файл
pypi.txtпо своему названию говорит всё за себя. Этот файл используется сценариемpypi.batдля установки всех нужныхpypiбиблиотек. Пожалуйста, записывайте название всех отдельно-устанавливаемых библиотек в этот файл.
Это надо, чтобы другой человек смог установить все зависимости для запуска проекта у себя на компьютере.
Вернёмся к ранее упомянутому файлу config.json и разберём его содержимое, и узнаем что за что отвечает.
По умолчанию, его содержимое должно быть примерно таким:
{
"program-name": "Python Program Framework",
"main-file": "/src/main.py",
"data-folder": "/data/",
"program-icon": "/data/icons/build-icon.ico",
"console-disabled": false,
"pyinstaller-flags": [
"--onefile", "--log-level WARN"
]
}Страшно? Сейчас разберёмся как это настраивать под себя.
-
"program-name":- Это параметр, который хранит текст в двойных кавычках, в которых записано название, которое примет итоговый бинарный файл. Ничего сверхъестественного тут нет. Потому что вы сами потом сможете просто напросто переименовать итоговый бинарный файл. Это сделано для удобства! -
"main-file":- Это очень важный параметр. Он хранит путь в двойных кавычках до основного запускаемого файла вашей программы. Он нужен чтобы система сборки поняла, какой файл является основным, и какой файл будет запускаться первым при запуске бинарника. -
"data-folder":- Просто указывает путь в двойных кавычках до папки в которой вы храните данные программы. Система сборки просто скопирует эту папку в папкуoutкоторая появится в основной папкеbuildпосле окончания сборки. -
"program-icon":- Параметр, который хранит путь до иконки бинарного файла с расширением.ico. Путь указывается в двойных кавычках, и обычно, иконка программы хранится в папке/data/, вместе с другими файлами программы. -
"console-disabled":- Параметр, который указывает системе сборки, выключить ли окно консоли программы при запуске бинарного файла, или нет. Важно! Если ваша программа использует консольные команты по типуos.system("какая то команда"), то окно консоли может появляться на несколько миллисекунд!
true= Отключить консольное окно.
false= Оставить консольное окно. -
"pyinstaller-flags":- Это список дополнительных флагов при компиляции программы. Эти флаги встраиваются в основную команду компиляции программы, и вы можете вписать сюда что то своё. Например,"--onefile"и"--log-level WARN"это команды которые будут отдельно добавлены в ход компиляции.
--onefile- Сделает так, чтобы все файлы программы были в одном исполняемом файле (не касается файлов которые будут загружаться отдельно в программе).
--log-level- Устанавливает уровень логирования сборки.
Всего есть вот столько уровней:TRACE, DEBUG, INFO, WARN, ERROR, FATAL
Каждые из них, указывают, какие сообщения выводить во время компиляции.
TRACE- Выводит абсолютно все сообщения и действия компилятора.
DEBUG- Выводит отладочные сообщения.
INFO- Выводит информационные сообщения компилятора.
WARN- Выводит предупреждения при компиляции.
ERROR- Выводит ошибки при компиляции.
FATAL- Выводит фатальные ошибки, при которых продолжать компиляцию невозможно.
Вот и всё! Вы сами можете изменить любой из этих параметров под себя!
Тут ничего сложного.
Едем дальше.
Ну, тут всё просто. Я сделал эту папку как основную папку для хранения всех ресурсов программы.
В этой папке может храниться абсолютно всё, что как-то подгружается программой.
Например, спрайты, иконки, шейдеры, текстуры, модельки и так далее...
Эта папка по умолчанию копируется системой сборки, и размещается в папке /build/out/
Вы можете изменить папку данных программы в конфигурационном файле системы сборки, которое мы обсудили выше.
Это папка в которой хранятся все файлы с исходным кодом программы.
Структура этой папки такая:
-
srcmain.py
-
Файл
main.py- Является основным запускаемым файлом по умолчанию, который вы можете изменить в конфигурационном файле системы сборки.
Запускает систему сборки проекта.
В папке /build/tools/ создаются всеменные файлы сборки, но после её окончания или ошибки, они удаляются автоматически.
Также, на последнем этапе сборки проекта, после удаления временных файлов, идёт копирование папки data в папку build/out.
Вообщем, если хотите собрать свою игру в бинарный вид, запустите этот файл.

Если вы получили такие предупреждения, то просто игнорьте их. Ничего страшного не будет. Это просто предупреждения в библиотеках NumPy и Numba.
Устанавливает все используемые внешние библиотеки, которые необходимо установить для запуска проекта из исходного кода.
Этот файл устанавливает все библиотеки из файла build/pypi.txt
Самый простой файл. Просто запускает файл src/main.py и ничего другого не делает.
После того, как вы установили все нужные библиотеки для работы фреймворка, и попытаетесь запустить программу, вы должны увидеть что-то типа такого:

На самом деле большой разницы между фреймворком под Windows и MacOS нет. Но есть несколько нюансов:
- После скачивания архива и попытки запустить файлы с расширением
.command(аналог.batна windows) может возникнуть такая проблема:

Чтобы её решить, откройте папку с фреймворком в терминале как показано ниже:

В открывшимся терминале введите команду ниже:
chmod +x build/tools/build.sh build/tools/pypi.sh build/tools/run.sh build.command pypi.command run.command- Для создания графических программ или программ без консоли:
- Понадобится указать иконку приложения. Для этого вам нужна ваша иконка в формате
.icns(можно сконвертировать в терминале с помощью таких утилит как:sips,ImageMagickили в онлайн конверторах). - Обязательно укажите новую иконку в конфигурации сборки (
config.json) по типу:"program-icon": "data/icons/build-icon.icns
