这里有人尝试过使用 iSeries Python 端口吗?
我发现http://www.iseriespython.com/,这显然是iSeries的Python版本包括一些系统特定的数据访问类。 我很想尝试一下,但必须获得工作批准才能这样做。 我的问题是:
该端口是否运行良好,或者与标准 Python 实现相比,解释器可以处理的内容是否存在限制?
iSeries 数据库访问层能否正常工作,从表定义创建可用对象?
I found http://www.iseriespython.com/, which is a version of Python for the iSeries apparently including some system specific data access classes. I am keen to try this out, but will have to get approval at work to do so. My questions are:
Does the port work well, or are there limits to what the interpreter can handle compared with standard Python implementations?
Does the iSeries database access layer work well, creating usable objects from table definitions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
从我到目前为止所看到的来看,它的效果非常好。 请注意,我使用的是 iSeries Python 2.3.3。 事实上,字符串本身就是 EBCDIC,这可能是一个问题; 这绝对是许多第三方包无法按原样工作的原因之一,即使它们是纯 Python 的。 (在某些情况下,可以对它们进行调整和调整,以明智地使用编码和解码。)据说 2.5 本身使用 ASCII,这原则上会提高兼容性,但我无法测试这一点,因为我太-旧版本的 OS/400。
部分是因为 EBCDIC,部分是因为 OS/400 和 QSYS 文件系统既不像 Unix,也不像 Windows,标准库的某些部分没有实现或实现不完善。 这对您的影响有多严重取决于您想要做什么。
从好的方面来说,iSeries 特有的功能运行得很好。 处理物理文件和流文件非常容易。 从 Python 调用 CL 或 RPG 程序相当轻松。 总的来说,我发现 iSeries Python 非常有用并且非常有价值。
更新(2012):自从提出这个问题以来,iSeries Python 已经投入了大量的工作。 版本 2.7 现已推出,这意味着它是最新的 2.x 版本。 论坛的一些参与者相当活跃并提供了惊人的支持。 其中之一已经让 Django 致力于 i. 正如预期的那样,转向本机 ASCII 字符串解决了许多 EBCDIC 问题,并大大提高了与第三方软件包的兼容性。 我热情地向任何使用 V5R3 或更高版本的人推荐 iSeries Python 2.7。 (对于那些使用早期版本操作系统的人,我仍然强烈推荐 iSeries Python 2.3.3。)
更新(2021):不幸的是,iSeriesPython 不再维护,旧的网站和论坛也已不再维护。走了。 您仍然可以从其 SourceForge 存储库获取该软件,对于那些坚持使用旧版本(7.2 之前)操作系统的人来说,它仍然是一项非常有用且有价值的资产。 对于使用 7.2 或更高版本的用户,IBM 提供了 Python for PASE,这应该被视为在中端平台上运行 Python 的首选方式。 此版本的 Python 是不断发展的开源软件生态系统的一部分在 IBM i 上。
From what I have seen so far, it works pretty well. Note that I'm using iSeries Python 2.3.3. The fact that strings are natively EBCDIC can be a problem; it's definitely one of the reasons many third-party packages won't work as-is, even if they are pure Python. (In some cases they can be tweaked and massaged into working with judicious use of encoding and decoding.) Supposedly 2.5 uses ASCII natively, which would in principle improve compatibility, but I have no way to test this because I'm on a too-old version of OS/400.
Partly because of EBCDIC and partly because OS/400 and the QSYS file system are neither Unix-like nor Windows-like, there are some pieces of the standard library that are not implemented or are imperfectly implemented. How badly this would affect you depends on what you're trying to do.
On the plus side, the iSeries-specific features work quite well. It's very easy to work with physical files as well as stream files. Calling CL or RPG programs from Python is fairly painless. On balance, I find iSeries Python to be highly usable and very worthwhile.
Update (2012): A lot of work has gone into iSeries Python since this question was asked. Version 2.7 is now available, meaning it's up-to-date as far as 2.x versions go. A few participants of the forum are reasonably active and provide amazing support. One of them has gotten Django working on the i. As expected, the move to native ASCII strings solves a lot of the EBCDIC problems and greatly increases compatibility with third-party packages. I enthusiastically recommend iSeries Python 2.7 for anyone on V5R3 or later. (I still strongly recommend iSeries Python 2.3.3 for those who are on earlier versions of the operating system.)
Update (2021): Unfortunately, iSeriesPython is no longer maintained, and the old website and forum are gone. You can still get the software from its SourceForge repository, and it is still an amazingly useful and worthwhile asset for those who are stuck on old (pre-7.2) versions of the operating system. For those who are on 7.2 or newer, there is a Python for PASE from IBM, which should be considered the preferred way to run Python on the midrange platform. This version of Python is part of a growing ecosystem of open source software on IBM i.
听起来它会按预期工作。 不过,对其他库的支持可能非常有限。
Timothy Prickett 在本文中讨论了 iSeries 的一些 Python 端口:
http://www. itjungle.com/tfh/tfh041706-story02.html
另外,Python 邮件归档中出现了一些讨论:
http://mail.python.org/pipermail/python-list/2004-January/245276.html
It sounds like it is would work as expected. Support for other libraries might be pretty limited, though.
Timothy Prickett talks about some Python ports for the iSeries in this article:
http://www.itjungle.com/tfh/tfh041706-story02.html
Also, some discussion popped up in the Python mailing archives:
http://mail.python.org/pipermail/python-list/2004-January/245276.html
iSeriesPython 运行得很好。
自 2005 年(或更早)以来,我们在我们的开发和生产环境中将其用作实用语言,用于生成 COBOL 源代码、生成 PCML 接口、发送 SMS、验证/更正某些数据...等。
使用 iSeriesPython,您可以通过两种方式访问 iSeries 数据库:使用 File400 和/或 db2 模块。 您可以执行 OS/400 命令,并且可以使用 QSYS.LIB 成员和 IFS 流文件。
恕我直言,iSeries Python 是非常强大的工具,比 iSeries 附带的 REXX 更好。
尝试一下!
iSeriesPython is working very well.
We are usning it since 2005 (or earlier) in our Development and Production Environments as an utility language, for generating of COBOL source code, generating of PCML interfaces, sending SMS, validating/correcting some data ... etc.
With iSeriesPython you can access the iSeries database at 2 ways: using File400 and/or db2 module. You can execute OS/400 commands and you can work with both QSYS.LIB members and IFS stream files.
IMHO, iSeries Python is very powerful tool, more better than REXX included with iSeries.
Try it!
大约 3 年前,我获得了在一台机器上安装 iSeries Python 的许可。 我发现它的效果和广告上的差不多。 我联系了开发商,他很乐意回答问题。 然而,在我考虑在生产中使用它之前,我必须与开发人员联系以获取支持合同。 这确实不是他的工作,所以他拒绝了,我们就放弃了这个想法。 我发现的主要限制是它在其他平台上落后于 Python 的几个版本。
我在 iSeries 上使用 Jython 也获得了非常好的体验。 iSeries 完全支持 Java。 理论上,您在 iSeries 上的 RPG 中可以做的所有事情都可以在 Java 中完成,这意味着您可以在 Jython 中完成。 1999 年或 2000 年,我通过 JPython(Jython 的旧名称)和 smtplib.py 从 AS/400(iSeries 的旧名称)发送电子邮件。
I got permission to install iSeries Python on a box about 3 years ago. I found that it worked pretty much as advertised. I contacted the developer and he was very good about answering questions. However, before I could think about using it in production, I had to approach the developer regarding a support contract. That really isn't his gig, so he said no and we scrapped the idea. The main limitation I found is that it is several releases behind Python on other platforms.
I have also had very good experience with Jython on the iSeries. Java is completely supported on the iSeries. Theoretically, everything you can do in RPG on the iSeries, you can do in Java, which means you can do it in Jython. I was sending email from an AS/400 (old name for iSeries) via JPython (old name for Jython) and smtplib.py in 1999 or 2000.
另一个可以查看的地方是邮件列表 MIDRANGE-L 或在档案中搜索列表位于 midrange.com。 我知道他们不久前已经讨论过这个问题。
Another place to look is on the mailing list MIDRANGE-L or search the archives for the list at midrange.com. I know they have talked about this a while back.