2013-12-21 3 views
16

В настоящее время я использую R для всех своих научных вычислений и графиков, но я бы хотел изучить Python. Я использую RStudio как IDE для R, который, как IDE, удовлетворяет 100% моей потребности в научных вычислениях, хруст числах, анализе данных и визуализации. Есть что-то подобное для Python? В основном подсветка синтаксиса, завершение кода, интеллектуальное отступы, выполнение кода непосредственно из исходного редактора, построение в среде IDE и управление версиями (git).Какая IDE для научных вычислений и построения графиков в Python?

+4

Этот вопрос довольно специфичен, я не думаю, что его нужно закрыть. – aIKid

+0

@aIKid все еще сводится к: «Может кто-то рекомендовать альтернативу этому * другому продукту» « –

+3

@JonClements Это может быть действительно полезно для других в будущем. Вероятно, этого не так много, и я не думаю, что это привлекло бы рекламу или спам. – aIKid

ответ

20

Я настоятельно рекомендую вам установить полное научное распределение питона, таких как Anaconda или Enthought Python, который содержит все пакеты, необходимые для науки (NumPy, SciPy, Matplotlib, Numba, панды и т.д.)

для научных вычислений , де-факто стандартом является использование IPython вместо python. Это улучшенный интерпретатор python, в который входят батареи (отступы, завершение, история, HPC и т. Д.).

Для вас IDE, Matlab-like, у вас есть в основном один выбор: Spyder (который в качестве базовой поддержки git). Другая IDE - это приятные приложения, но у них нет инструментов для проверки наборов данных. Spyder напрямую запускает сеанс IPython, который впоследствии можно редактировать с помощью других инструментов.

Еще один IPython-ноутбук (теперь известный как Jupyter), который является новым и очень мощным инструментом, особенно если вы хотите документировать свой код с помощью латексного кода. Ваша сессия IPython встроена и напрямую передается другим, легко доступна для версий.

Вы также можете запустить интерактивную презентацию непосредственно в ноутбуке, что является хорошим способом показать результаты. Думайте об этом как о будущем исследований, где ваши результаты интерактивны. Любой, кто может загрузить ноутбук, будет выполнять те же самые точные эксперименты.

Посмотрите на многочисленных примерах уже там:

IPython notebook example

Если вам не нравится работать в браузере, я предлагаю мою установку, которая является:

  • Anaconda (распределение python с научными пакетами)

  • Sublime Text 3 (легкий редактор кода) с SublimeREPL, SublimeIPythonNotebook

  • IPython Qt консоль (рядный черчения, завершающие, сохраненные сеансы, сохраненные наборы данных и т.д.)

Помните, что все передние концы IPython (IPython консоли IPython QtConsole, IPython ноутбук, SublimeREPL и т. Д.) Могут быть подключены к одному и тому же экземпляру ядра IPython.

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

Одно ядро ​​IPython, чтобы управлять ими всеми :-)

+1

Вы могли бы подробнее рассказать о том, как вы подключаете различные инструменты к одному и тому же экземпляру IPython - в частности, я хотел бы узнать о SublimeREPL – AdamAL

+0

Знание того, как использовать Vim и Tmux вместе, может быть другим решением, если вы ищете IDE для работы. –

2

Начните с любой IDE, которая поддерживает (в действительности, много IDE в эти дни поддерживает) подсветку синтаксиса, завершение кода, интеллектуальное отступы, выполнение кода непосредственно из исходного редактора. Если вы не уверены, обратитесь С.О. Вопрос What IDE to use for Python?

  • Далее исследовать matplotlib для ваших планировавших потребностей.
  • Далее, что бы вы ни выбрали IDE, найдите git pluggin. Если ваша выбранная IDE не имеет одного, выберите другой из списка IDE, который имеет необходимый git pluggin.
  • Установите необходимые пакеты, такие как Numpy/Scipy/Sympy. Обратитесь по ссылке Numeric and Scientific

Примечания Eclipse, с PyDev может работать с учетом этого есть поддержка мерзавец (EGit), и вы не будете иметь проблем с интегрированием Matplotlib. Infact есть еще одна нить SO, выделенная для Interactive matplotlib through Eclipse PyDev

Наконец, если вы хотите пожертвовать легкостью разработки по сравнению с PyCharm или PyDev, Scientific Python может быть хорошим вариантом для вас.

+0

@Kikohs: Я никогда не упоминал Scipy как IDE. Пожалуйста, перечитайте ответ. Ответ написан сценарием для предоставления пользователю возможности сделать любую достойную среду IDE с установкой Python по умолчанию для использования в Scientific Computation. – Abhijit

+0

Ваше последнее предложение ссылается на www.scipy.org, для меня было неясно, что вы упоминаете весь стежок Scipy вместо библиотеки scipy. – Kikohs

4

Вы можете попробовать Spyder который является мультиплатформенной, проста в использовании, обеспечивает подсветку синтаксиса, интерактивную отладку и т.д. Вы по-прежнему полагаться на такие библиотеки как matplotlib или NumPy, а сама IDE может быть недостаточно, если вы имеете дело с очень большими наборами чисел.

Есть и другие подобные проекты, такие как Python(x,y) или WinPython (только для Windows), которые пытаются продвигать/облегчать использование Python для разработки научных и инженерных программ.

1

Я подозреваю, что это дубликат (по крайней мере частично) this или this вопрос. До сих пор мне рекомендовали IDLE, PyCharm, PHPStorm, Spyder, PyDev, Aptana, Wing, IPython и DreamPie. Не пробовал их всех, но Spyder неплохо держался. В целом я нашел лучшее предложение Enthought Python Distribution, поскольку оно поставляется с уже включенными Scipy, Numpy и другими пакетами ключей, а также с IDE Spyder. Полный пакет является коммерческим (бесплатно для ученых), но есть также free distribution.

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