Кто-нибудь здесь пробовал использовать порт iSeries Python? - PullRequest
9 голосов
/ 15 апреля 2009

Я нашел http://www.iseriespython.com/,, которая является версией Python для iSeries, по-видимому, включающей некоторые системные классы доступа к данным. Я очень хочу попробовать это, но для этого мне нужно получить одобрение на работе. Мои вопросы:

Хорошо ли работает порт или есть ли пределы того, что интерпретатор может обрабатывать по сравнению со стандартными реализациями Python?

Хорошо ли работает слой доступа к базе данных iSeries, создавая пригодные для использования объекты из определений таблиц?

Ответы [ 5 ]

7 голосов
/ 25 апреля 2009

Из того, что я видел до сих пор, это работает довольно хорошо. Обратите внимание, что я использую iSeries Python 2.3.3. Тот факт, что строки изначально являются EBCDIC, может быть проблемой; это определенно одна из причин, по которой многие сторонние пакеты не будут работать как есть, даже если они являются чистым Python. (В некоторых случаях их можно настроить и использовать для разумного использования кодирования и декодирования.) Предположительно 2.5 использует ASCII изначально, что в принципе улучшило бы совместимость, но у меня нет возможности проверить это, потому что я слишком старая версия OS / 400.

Отчасти из-за EBCDIC, а отчасти из-за того, что OS / 400 и файловая система QSYS не похожи ни на Unix, ни на Windows, есть некоторые части стандартной библиотеки, которые не реализованы или реализованы несовершенно. Насколько это сильно повлияет на вас, зависит от того, что вы пытаетесь сделать.

С другой стороны, специфичные для iSeries функции работают достаточно хорошо. Работать как с физическими файлами, так и с потоковыми файлами очень просто. Вызов программ на CL или RPG из Python довольно безболезненный. В итоге я считаю, что iSeries Python очень удобен и очень полезен.

Обновление: Много работы было проделано в iSeries Python с тех пор, как был задан этот вопрос. Версия 2.7 теперь доступна, что означает, что она актуальна до версии 2.x. Несколько участников форума достаточно активны и оказывают потрясающую поддержку. Один из них заставил Джанго работать над i. Как и ожидалось, переход на собственные строки ASCII решает множество проблем EBCDIC и значительно повышает совместимость со сторонними пакетами. Я с энтузиазмом рекомендую iSeries Python 2.7 для всех, кто использует V5R3 или более позднюю версию. (Я все еще настоятельно рекомендую iSeries Python 2.3.3 для тех, кто использует более ранние версии операционной системы.)

5 голосов
/ 15 апреля 2009

Похоже, что это будет работать, как ожидалось. Однако поддержка других библиотек может быть довольно ограниченной.

Тимоти Прикетт рассказывает о некоторых портах Python для iSeries в этой статье:

http://www.itjungle.com/tfh/tfh041706-story02.html

Кроме того, в почтовых архивах Python появилось некоторое обсуждение:

http://mail.python.org/pipermail/python-list/2004-January/245276.html

4 голосов
/ 29 июня 2010

iSeriesPython работает очень хорошо. Мы используем его с 2005 года (или ранее) в наших средах разработки и производства в качестве служебного языка для генерации исходного кода COBOL, генерации интерфейсов PCML, отправки SMS, проверки / исправления некоторых данных ... и т. Д. С iSeriesPython вы можете получить доступ к базе данных iSeries двумя способами: с помощью модуля File400 и / или db2. Вы можете выполнять команды OS / 400 и работать как с членами QSYS.LIB, так и с файлами потоков IFS. ИМХО, iSeries Python - очень мощный инструмент, лучше, чем REXX, включенный в iSeries. Попробуй!

3 голосов
/ 31 марта 2010

Я получил разрешение на установку iSeries Python на компьютер около 3 лет назад. Я обнаружил, что это работает так же, как рекламируется. Я связался с разработчиком, и он очень хорошо отвечал на вопросы. Однако, прежде чем я мог подумать об использовании его в производстве, мне пришлось обратиться к разработчику по поводу контракта на поддержку. Это действительно не его концерт, поэтому он сказал нет, и мы отказались от этой идеи. Основное ограничение, которое я обнаружил, заключается в том, что это несколько выпусков Python на других платформах.

У меня также был очень хороший опыт работы с Jython на iSeries. Java полностью поддерживается на iSeries. Теоретически, все, что вы можете делать в RPG на iSeries, вы можете делать в Java, что означает, что вы можете делать это в Jython. Я отправлял электронную почту из AS / 400 (старое имя для iSeries) через JPython (старое имя для Jython) и smtplib.py в 1999 или 2000 году.

0 голосов
/ 16 апреля 2009

Другое место для поиска находится в списке рассылки MIDRANGE-L или ищите архив в списке по адресу midrange.com . Я знаю, что они говорили об этом некоторое время назад.

...