как запустить Django локально как исполняемое приложение Windows

Я рассматриваю возможность создания приложения с Django только для одного пользователя, который будет запускать приложение локально в Windows. Я читал о контейнеризации приложений Django, но для меня это в новинку. Моя цель - запустить сервер Django одним щелчком мыши, как стандартное приложение Windows, и подключиться к нему на localhost и взаимодействовать с веб-браузером. Это даже возможно?


person Kosaaaaa    schedule 29.04.2021    source источник
comment
Вы можете проверить здесь: stackoverflow.com/questions /1657063/ Но в целом - это будет довольно сложно и стабильность не будет большой. Но если *exe не требуется (т.е. у вас установлен Python на машине) - тогда вы можете просто предоставить файл *.bat со скриптом — python manage.py runserver 0.0.0.0:8000   -  person Egor Wexler    schedule 29.04.2021


Ответы (1)


Это возможно, но это может быть не лучшим решением. Если вы хотите выпустить приложение Django, которое можно будет установить на клиентский компьютер, вам обычно необходимо убедиться, что все зависимости поставляются вместе с приложением.

Контейнеризация вашего приложения означает, что оно будет зависеть от среды выполнения Docker (или любой используемой вами контейнерной системы). Вам нужно будет настроить Docker с вашим приложением или убедиться, что у вашего клиента есть Docker на его компьютере для его запуска. Если на целевом компьютере работает Windows или macOS, вам потребуется настроить docker-desktop, что может быть сложнее, чем стандартная среда выполнения Docker (только для Linux).

Но если вы решите отправить свое приложение без его контейнеризации, это будет зависеть только от интерпретатора Python и некоторых зависимостей (Django, dateutil и т. д.). В таком случае, используя инструменты Python, такие как virtualenv, вы можете подготовить готовое к запуску приложение, создав venv и установив зависимости во время сборки. Затем, при правильной настройке (MSI для Windows или DMG для macOS), вы сможете распространять окончательное приложение, чтобы клиент мог установить и запустить его без каких-либо дополнительных действий (вы выполняете всю тяжелую работу самостоятельно).

person Antwane    schedule 29.04.2021
comment
Auto PY to EXE будет достаточно для этого? - person Kosaaaaa; 29.04.2021
comment
Как было предложено @Egor Wexler, см. stackoverflow.com/q/1657063/1887976 для этого - person Antwane; 29.04.2021