Можно ли интегрировать Python с CSS, Javascript и HTML?

У меня есть внешнее веб-приложение, созданное с помощью JavaScript, HTML и CSS. Я хотел бы включить вывод скрипта Python в свой интерфейс без использования сервера или полноценного серверного решения.

Сценарий Python представляет собой простую нейронную сеть, и я хочу отображать ее выходные данные во внешнем интерфейсе, например отображать результат в виде заголовка или строить график, сгенерированный сценарием.

Я уже пытался распечатать вывод на консоль из скрипта Python, но мне нужна помощь с передачей этого вывода во внешний интерфейс.

Можно ли добиться этого без сервера? Я открыт для предложений и начинаю с более простого решения, такого как построение графика, сгенерированного скриптом Python во внешнем интерфейсе.

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

! ОТВЕТ! Это позволяет мне принять только один ответ, но я бы сказал, что ответы Streamlit и Wasm приемлемы.

Я не думаю, что вы сможете запустить модель Python во внешнем интерфейсе, но, возможно, посмотрите на Tensorflow.js, который может работать в браузере через Node.js. Возможно, вы сможете включить его в интерфейс, но я не уверен.

NotAName 30.06.2023 04:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
54
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

похоже, вы пытаетесь создать веб-приложение без бэкэнда. javascript - ваша единственная надежда, если нет бэкэнда. невозможно интегрировать python с CSS, Javascript и HTML без серверной части.

Да, вывод скрипта Python можно включить в ваш внешний интерфейс без сервера или полноценного серверного решения. Один из способов добиться этого — использовать такой инструмент, как WebAssembly, для запуска сценария Python непосредственно в браузере. WebAssembly — это низкоуровневый формат байт-кода, который позволяет запускать код, написанный на различных языках, включая Python, непосредственно в браузере. Используя WebAssembly, вы можете скомпилировать свой скрипт Python в формат, который может выполняться в браузере без необходимости использования сервера.

Существует несколько способов компиляции кода Python в WebAssembly, например с помощью таких инструментов, как Pyodide или PyO3. После того как вы скомпилировали свой скрипт Python для WebAssembly, вы можете использовать JavaScript для загрузки и выполнения модуля WebAssembly в своем интерфейсе.

Вот пример того, как вы можете использовать WebAssembly для построения графика, сгенерированного скриптом Python во внешнем интерфейсе:

  1. Во-первых, вам нужно скомпилировать ваш скрипт Python в WebAssembly с помощью такого инструмента, как Pyodide. Вы можете следовать документации Pyodide, чтобы узнать, как это сделать.

  2. Когда у вас есть модуль WebAssembly, вы можете загрузить его в свой интерфейс с помощью JavaScript. Вот пример того, как вы можете загрузить модуль:

// Load the WebAssembly module
const module = await WebAssembly.instantiateStreaming(fetch('path/to/module.wasm'));

// Get a reference to the Python script function
const pyFunction = module.instance.exports.py_function;

// Call the Python script function with arguments
const result = pyFunction(arg1, arg2, ...);
  1. Затем вы можете использовать библиотеку построения графиков JavaScript, например Plotly. js для построения графика, сгенерированного скриптом Python. Вот пример того, как вы можете использовать Plotly. js для создания точечной диаграммы:
// Create a scatter plot
const plotData = [{
  x: [6, 2, 3, 1, 5],
  y: result,
  mode: 'markers',
  type: 'scatter'
}];

// Set the layout of the plot
const plotLayout = {
  title: 'Python Script Output'
};

// Render the plot
Plotly.newPlot('plot', plotData, plotLayout);

В этом коде я создал точечную диаграмму со значениями по оси X, фиксированными на [6, 2, 3, 1, 5], и значениями по оси Y, установленными на выходные данные скрипта Python. Вы должны настроить данные графика и макет в соответствии с вашими потребностями.

Обратите внимание, что этот подход требует поддержки современных браузеров для WebAssembly и может быть несовместим со всеми браузерами. Кроме того, WebAssembly — это низкоуровневый формат, требующий некоторых знаний двоичного кода и управления памятью. Если вам не нравятся эти концепции, вы можете рассмотреть возможность использования решения более высокого уровня, такого как сервер, или полной серверной среды, такой как Flask, Django или другие...

Ответ принят как подходящий

Если вы хотите включить вывод скрипта Python в свой интерфейс без использования сервера или полноценного серверного решения, у вас есть несколько доступных вариантов. Один из подходов заключается в использовании метода под названием «WebAssembly» (Wasm) для запуска сценария Python непосредственно в браузере. Emscripten: https://emscripten.org/ Пиодид: https://github.com/pyodide/pyodide

Спасибо Это то, что я искал

userr554 30.06.2023 17:03

В том же духе существует также PyScript , который использует pyodide в качестве основы для фреймворка. Демо здесь. Поскольку он использует Pyodide, он ограничен возможностями и пакетами, которые поддерживает Pyodide, который все еще развивается быстрыми темпами.

Wayne 30.06.2023 17:26

Похоже, ту же проблему мы решили с помощью пакета Python streamlit. Streamlit — это пакет Python, который можно установить с помощью pip install streamlit. Вы запускаете свои скрипты из командной строки, используя streamlit run <python-scipt>. Вы также можете развернуть Streamlit на сервере для обслуживания ваших скриптов Python, например. внутри сети компании.

Другие вопросы по теме