Представляет из себя гибкую и простую структуру файлов и папок. А так же, этот фреймворк имеет систему сборки проекта.
Перейдите в релизы и выберите последний релиз. Там будут архивы (варианты этого фреймворка).
На данный момент, официально фреймворк работает на: Windows, MacOS.
Разницы между фреймворком под Windows и MacOS в разработке и работе нет, кроме некоторых нюансов (см. настройку для macos)
А дальше, разархивируйте архив и переместите из полученной папки содержимое (все файлы и папки) в другую папку, или переименуйте её так как вам удобнее. Обычно, это название вашего проекта.
Теперь, откройте эту папку как папку проекта в редакторе кода.
Все исходные скрипты и коды должны находиться в папке src
!
Важно! Проверьте что Python доступен в консоли, запустите файл pypi.bat
в папке проекта (фреймворка), чтобы установить все необходимые библиотеки для работы фреймворка.
- Python Program Framework содержит такую структуру:
build
data
src
build.bat
pypi.bat
run.bat
Давайте по порядку.
Структура этой папки такая:
-
build
tools
config.json
pypi.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/
Вы можете изменить папку данных программы в конфигурационном файле системы сборки, которое мы обсудили выше.
Это папка в которой хранятся все файлы с исходным кодом программы.
Структура этой папки такая:
-
src
main.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