IronPython - это 100% чистый вариант Python? - PullRequest
4 голосов
/ 30 октября 2010

Я только что скачал оригинальный интерпретатор Python с сайта Python. Я просто хочу выучить этот язык, но для начала хочу написать автономные приложения на базе Windows, работающие на любой СУБД. Я хочу связать его как любую обычную установку Windows.

Я искал старые сообщения на SO и нашел парней, предлагающих wxPython и py2exe. Кроме этого немногие предложили IronPython, так как он работает на .NET.

Я хочу знать, является ли IronPython чистым вариантом Python или модифицированным вариантом. Во-вторых, каково реальное использование Python? Это для PHP как вещь или как C # (вы можете запрограммировать приложение для Windows или Web.).

Ответы [ 4 ]

6 голосов
/ 30 октября 2010

IronPython - это не вариант Python, это Python. Это реализация языка Python, основанная на .NET Framework. Так что да, это чистый Python.

IronPython подхватил CPython (реализация, к которой вы, вероятно, привыкли) 2.6, поэтому некоторые функции / изменения, увиденные в Python 2.7 или 3.x, не будут представлены в IronPython. Кроме того, стандартная библиотека немного отличается (но то, что вы теряете, заменяется всем, что может предложить .NET).

Основным приложением IronPython является создание сценариев для приложений .NET, написанных на C # и т. Д., Но его также можно использовать как самостоятельный. IronPython также можно использовать для написания веб-приложений с использованием платформы SilverLight.

Если вам нужен доступ к функциям .NET, используйте IronPython. Если вы просто пытаетесь сделать исполняемый файл Windows, используйте py2exe.

Обновление

Для написания основных приложений RDBMS просто используйте CPython (оригинальный Python), он более расширяемый и быстрее. Затем вы можете использовать ряд инструментов, чтобы сделать его автономным на ПК с Windows. Пока же просто беспокойтесь о изучении Python (эти навыки будут в основном перенесены в IronPython, если вы решите переключиться) и написании своего приложения.

1 голос
/ 30 октября 2010

IronPython - это реализация Python, использующая C #.Это как реализация Python с использованием Java от Jython.Вы можете заметить, что IronPython и Jython всегда будут немного отставать в разработке.Тем не менее, вы получаете преимущество наличия некоторых библиотек, которых нет в стандартных библиотеках Python.В IronPython вы сможете получить доступ к некоторым вещам .NET, таким как System.Drawings и т. Д., Хотя, используя эти нестандартные библиотеки, будет труднее перенести ваш код на другие платформы.Например, вам придется установить mono для запуска приложений, написанных на IronPython для Linux (в Windows вам понадобится .NET Framework)

1 голос
/ 30 октября 2010

что означает "Чистый Питон"?Если вы говорите о , реализованном в Python в том же смысле, что модуль может быть чистым Python, то нет, и реализация Python отсутствует.Если вы имеете в виду «Совместимо с cPython», то да, код, написанный на cPython, будет работать в IronPython с несколькими оговорками.Наиболее вероятно, что наиболее важны то, что библиотеки разные, например, код в зависимости от ctypes или Tkinter не будет работать.Другое отличие состоит в том, что IronPython немного отстает от cPython.самая последняя версия этого документа - 2.6.1, а также альфа-версия, поддерживающая некоторые из 2.7 доступных языковых функций.

Что вам действительно нужно?Если вы хотите научиться программировать на python, а также создавать код для Windows, вы можете использовать IronPython для этого, но вы также можете использовать cPython и py2exe;оба будут одинаково хорошо работать для этого, только с различиями в библиотеках.

1 голос
/ 30 октября 2010

IronPython - это независимая реализация Python, написанная на C #, в отличие от исходной реализации, часто называемой CPython, потому что она написана (неудивительно). C.

Python является многоцелевым - вы можетеиспользуйте его для написания веб-приложений (часто с использованием таких фреймворков, как Django или Pylons ), приложений с графическим интерфейсом (как вы упомянули), инструментов командной строки и в качестве встроенного языка сценариеввнутри приложения, написанного на другом языке (например, инструмент трехмерного моделирования Blender может быть создан с использованием Python).

...