Выполнение кода python внутри браузера без Jython
есть ли способ выполнить код python в браузере, кроме использования Jython и апплета?
выполнение не должно иметь дело с чем-либо, связанным с графикой. Например, просто суммируйте все цифры двоичного файла 1Gb (выбранного пользователем браузера), а затем верните результат на сервер.
Я знаю, что python может быть выполнен удаленно вне браузера, но мое требование должно быть сделано в браузере.
точно, Я принимаю как должное, что пользователь сохранит право на выполнение или нет, и его попросят сделать это и все эти вещи безопасности... но это не мой вопрос.
10 ответов
на пижама проект имеет компилятор pyjs, который превращает код Python в Javascript.
ответ носкло неверен: pyxpcomext для firefox добавляет поддержку language= "python" в теги скриптов. да, это колоссальный плагин 10mb, но это жизнь. я думаю, что лучше всего, если вы обратитесь кhttp://wiki.python.org/moin/WebBrowserProgramming потому что именно там записываются все известные документированные ссылки между python и технологией веб-браузера: вы можете выбрать там.
Я собрал таблицу, сравнивающую многие технологии Python-in-Browser не так давно: http://stromberg.dnsalias.org / ~strombrg/pybrowser/python-browser.html
в своих путешествиях я наткнулся Skulpt, проект, который, кажется, предлагает Python непосредственно в браузере без плагинов. Он лицензирован в MIT.
Нет, ты не можешь.
современные браузеры запускают только javascript или плагины. Вы можете разработать свой собственный плагин python и убедить людей скачать и запустить его, но я думаю, что это относится к категории "не внутри браузера".
Вы имеете в виду на стороне клиента?
конечно, вы можете! Но сначала вам нужно установить python на клиенте.
связанная книга описывает, что для использования активных сценариев на стороне клиента вы можете проверить его с помощью простого .
<html><body>
<script language='Python'>alert("Hello, Python!")</script>
</body></html>
в старой версии, указанной в этой книге (Программирование Python на Win32
Марк Хаммонд, Энди Робинсон)
в нем говорится, что вам нужно установить расширения Win32 Python, и это будет автоматически регистрировать активные Скрипты Python. Если вы сделаете это вручную, вы должны запустить скрипт python\win32comext\axscript\client\pyscript.py
.
http://repl.it/ - интерпретатор Python в JavaScript, работающий на стороне клиента. Есть много других языков. Источник доступен под лицензией MIT, что является удивительным.
теперь вы можете (2016) использовать:
он компилирует Python 3.6 (ВКЛ. множественное наследование, перегрузка операторов, все типы постижений, генераторы и итераторы) для lean и fast JS, поддерживает отладку исходного уровня с помощью sourcemaps и необязательную статическую проверку типов с помощью mypy.
отказ от ответственности: я являюсь инициатором проекта.
случайно я слушал Hanselminutes где он упомянул о проекте Gestalt. Это решение для интеграции языков как IronRuby и IronPython в браузере через Silverlight.
поэтому я думаю, что ответ нет, если у вас нет специальных плагинов.