9

http://www.iseriespython.com/を見つけました。これは、システム固有のデータアクセスクラスを含むと思われるiSeries用のPythonのバージョンです。私はこれを試してみたいと思っていますが、それを行うには職場で承認を得る必要があります。私の質問は次のとおりです。

ポートはうまく機能しますか、それとも標準のPython実装と比較してインタープリターが処理できるものに制限がありますか?

iSeriesデータベースのアクセス層はうまく機能し、テーブル定義から使用可能なオブジェクトを作成しますか?

4

5 に答える 5

7

私がこれまで見てきたことから、それはかなりうまく機能します。私はiSeriesPython2.3.3を使用していることに注意してください。文字列がネイティブにEBCDICであるという事実は、問題になる可能性があります。純粋なPythonであっても、多くのサードパーティパッケージがそのまま機能しない理由の1つは間違いありません。(場合によっては、エンコードとデコードを適切に使用するように調整およびマッサージすることができます。)おそらく2.5はASCIIをネイティブに使用します。これにより、原則として互換性が向上しますが、私も使用しているため、これをテストする方法はありません。古いバージョンのOS/400。

一部にはEBCDICが原因であり、一部にはOS / 400とQSYSファイルシステムがUnixライクでもWindowsライクでもないため、標準ライブラリの一部が実装されていないか、不完全に実装されています。これがあなたにどれほど悪影響を与えるかは、あなたが何をしようとしているかによって異なります。

プラス面として、iSeries固有の機能は非常にうまく機能します。ストリームファイルだけでなく、物理ファイルの操作も非常に簡単です。PythonからCLまたはRPGプログラムを呼び出すのは、かなり簡単です。全体として、iSeries Pythonは非常に使いやすく、非常に価値があると思います。

更新(2012): この質問が行われて以来、iSeriesPythonには多くの作業が費やされています。 バージョン2.7が利用可能になりました。つまり、2.xバージョンに関しては最新です。フォーラムの数人の参加者は適度に活発で、すばらしいサポートを提供しています。そのうちの1つは、Djangoがiに取り組んでいます。予想どおり、ネイティブASCII文字列への移行により、EBCDICの多くの問題が解決され、サードパーティパッケージとの互換性が大幅に向上します。V5R3以降のユーザーには、iSeriesPython2.7を熱心に推奨します。(以前のバージョンのオペレーティングシステムを使用している場合は、iSeries Python 2.3.3を強くお勧めします。)

更新(2021):残念ながら、iSeriesPythonは保守されなくなり、古いWebサイトとフォーラムはなくなりました。それでもSourceForgeリポジトリからソフトウェアを入手できます。それでも、古い(7.2より前の)バージョンのオペレーティングシステムに固執している人にとっては、驚くほど便利で価値のある資産です。7.2以降を使用している場合は、IBMのPython for PASEがあります。これは、ミッドレンジプラットフォームでPythonを実行するための推奨される方法と見なす必要があります。このバージョンのPythonは、IBMiで成長しているオープンソースソフトウェアのエコシステムの一部です。

于 2009-04-25T05:35:36.143 に答える
5

期待通りに動作するようです。ただし、他のライブラリのサポートはかなり制限されている可能性があります。

Timothy Prickettは、この記事でiSeries用のいくつかのPythonポートについて説明しています。

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

また、Pythonのメーリングアーカイブにいくつかの議論がありました。

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

于 2009-04-15T18:13:31.053 に答える
4

iSeriesPythonは非常にうまく機能しています。2005年(またはそれ以前)から、開発および実動環境で、COBOLソース・コードの生成、PCMLインターフェースの生成、SMSの送信、一部のデータの検証/訂正などのために、ユーティリティー言語として使用しています。iSeriesPythonを使用すると、次のことができます。 File400および/またはdb2モジュールを使用する2つの方法でiSeriesデータベースにアクセスします。OS / 400コマンドを実行でき、QSYS.LIBメンバーとIFSストリーム・ファイルの両方を操作できます。IMHO、iSeries Pythonは非常に強力なツールであり、iSeriesに含まれているREXXよりも優れています。それを試してみてください!

于 2010-06-29T10:47:07.017 に答える
3

約3年前にiSeriesPythonをボックスにインストールする許可を得ました。宣伝どおりに機能することがわかりました。私は開発者に連絡しました、そして彼は質問に答えることについて非常に上手でした。ただし、本番環境での使用を検討する前に、サポート契約について開発者に問い合わせる必要がありました。それは本当に彼のギグではないので、彼はノーと言って、私たちはアイデアを捨てました。私が見つけた主な制限は、他のプラットフォームのPythonの背後にあるいくつかのリリースであるということです。

また、iSeriesでJythonを使用して非常に良い経験をしました。JavaはiSeriesで完全にサポートされています。理論的には、iSeriesのRPGで実行できることはすべて、Javaで実行できます。つまり、Jythonで実行できます。1999年または2000年に、AS / 400(iSeriesの旧名)からJPython(Jythonの旧名)およびsmtplib.pyを介して電子メールを送信していました。

于 2010-03-31T12:31:20.333 に答える
0

もう1つの場所は、メーリングリストMIDRANGE-Lにあるか、 midrange.comでアーカイブを検索してリストを検索することです。私は彼らがこれについてしばらく前に話していたことを知っています。

于 2009-04-15T21:08:52.833 に答える