Как я могу распространять приложение Electron с Python - PullRequest
0 голосов
/ 18 июня 2020

У меня есть веб-приложение Python, которое я хочу обернуть в Electron. Серверная часть веб-приложения представляет собой очень тонкое приложение Flask, которое перенаправляет вызовы пакету Python, который выполняет обработку и форматирует результаты. У нас есть интерфейс React, который общается с этим сервером. У нас также есть установка на основе pip, которая запускает серверную часть Flask и обслуживает интерфейс, так что вы можете pip install запустить сервер и использовать его из своего браузера. Это похоже на то, как работает Pgadmin 4 .

Поскольку это приложение используется людьми только на своих компьютерах и никогда не устанавливается на сервере, я хочу преобразовать его в приложение Electron . Однако я не мог понять, как распространить это приложение за одну установку для Windows, MacOS и Linux. Я не хочу, чтобы пользователям приходилось устанавливать Python на свои компьютеры.

Как я могу это сделать?

1 Ответ

1 голос
/ 21 июня 2020

Я действительно не понимаю, почему вам нужно добавить электрон в микс, а не просто использовать свой браузер. Я считаю, что электронное приложение, которое обслуживает вашу страницу в одном окне, будет занимать 50 МБ. Ключевым преимуществом электронов является то, что он позволяет выполнять системные вызовы (получать доступ к локальным файлам / устройствам), но если вы используете flask, у вас уже есть эта возможность.

Главное препятствие - как распространять flask, особенно без установки python - и электрон не собирается упростить задачу в этом отношении. Вероятно, вам стоит взглянуть на pyinstaller, который позволяет создавать исполняемые файлы, которые встраивают python.

Теперь, если вы говорите о полном избавлении от python, тогда вы действительно могли бы это сделать, nodejs имеет богатый набор библиотек для всего, что связано с os / db, даже для обработки изображений, но ему не хватает науки о данных и обработки. YMMV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...