2015-12-11 2 views
1

Я не уверен, подходит ли этот вопрос в этом сообществе, но я не знаю, где его спросить.Публикация интерактивных научных результатов на Python

У меня нет фона в программировании для Интернета, но недавно я начал веб-проект, который использует, например, Leaflet.js, d3.js, jQuery ... много js-библиотек. Тем не менее, я не вижу в нем «простого» веб-проекта, потому что у нас есть некоторые научные модели, которые будут разработаны в Python (с использованием scikit, numpy и т. Д.), И результаты которых будут также нанесены на карту Leaflet.js. Мы планируем это как веб-проект, чтобы легко делиться результатами и из-за интерактивности, которую мы можем достичь с помощью d3.js.

Учитывая это, мне интересно, для чего это хороший подход. Я не знаю, нужно ли мне как-то просто вызвать функции Python из файла javacript или если я должен изучить структуру, такую ​​как Django ... Как мне нравится иметь в виду, как мой проект будет перед запуском критических частей , Я пытаюсь представить, как это сделать.

Это может быть закрыто или отклонено, но любое понимание было бы полезно.

+2

Я уверен, что SO модераторы закрыть этот вопрос, как это слишком «широкий», но я отвечу в любом случае. –

ответ

1

С большим языком программирования, как Python у вас есть несколько вариантов

  • Публикации результаты as a IPython Notebook - это, кажется, стандарт де-факто для научного сообщества сегодня. Вы можете интегрировать d3.js и другие компоненты в свои ноутбуки. Если вы ученый или аналитик данных, я бы рекомендовал изучить этот вариант.

  • Публиковать результаты как статический веб-сайт. В основном вы создаете набор файлов HTML из шаблонов Python в автономном режиме на своем собственном компьютере. Затем вы загружаете результат где-нибудь. Или просто запишите их и отправьте по электронной почте где-нибудь ... это легко, потому что это всего лишь куча файлов. There exist many static website generators.

  • Используйте каркас для микро-каркаса, например Pyramid, Flask. Это решения, если вы просто хотите иметь некоторую динамичность, и вы не являетесь, например, необходимо зарегистрироваться, войти и забыли пароль.

  • Использование не микроинтерфейсной структуры, такой как Django - это дает вам управление пользователями, сопоставление объектных отношений и, возможно, некоторые другие вещи, которые вам не понадобятся в научной работе.

Для двух последних параметров, которые вы обычно должны получить виртуальную машину (VPS) хостинг, или если вы чувствуете, богатыми вы можете использовать Amazon EC2, Microsoft Azure облако или Heroku. Для динамического веб-хостинга обычно требуется больше денег, поскольку вам нужно инвестировать в собственный сервер или контейнер приложений. Furtermore это гораздо более сложный процесс, так как вам нужно изучить основы полного веб-программирования стека.

enter link description here

+0

Благодарим вас за все советы, @MikkoOhtamaa. (: – pceccon

Смежные вопросы