Выполнение кода 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.

Skulpt Домашняя Страница

Skulpt @ Github


Нет, ты не можешь.

современные браузеры запускают только 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) использовать:

http://www.transcrypt.org

он компилирует Python 3.6 (ВКЛ. множественное наследование, перегрузка операторов, все типы постижений, генераторы и итераторы) для lean и fast JS, поддерживает отладку исходного уровня с помощью sourcemaps и необязательную статическую проверку типов с помощью mypy.

отказ от ответственности: я являюсь инициатором проекта.


случайно я слушал Hanselminutes где он упомянул о проекте Gestalt. Это решение для интеграции языков как IronRuby и IronPython в браузере через Silverlight.

поэтому я думаю, что ответ нет, если у вас нет специальных плагинов.


Brython - "реализация Python 3 для клиентского веб-программирования"