尝试在 IBM i 上的虚拟环境中 pip install ibm-db 导致错误 limits.h
Trying to pip install ibm-db in a virtual env on IBM i resulting in error limits.h
我正在尝试在 IBM i 上使用 Python 运行 将 ibm-db 安装到虚拟环境中。我 运行 进入以下关于 limits.h 没有这样的文件或目录的异常。我发现的所有其他类似问题都在 Linux 或 MacOS 上,因此不确定如何在 IBM i 上解决此问题。
我也尝试在没有虚拟环境的情况下在系统级别执行此操作,运行 遇到了同样的问题。我正在尝试安装 ibm-db 版本 3.0.2(这个问题出现时的最新版本),这可能是问题的一部分。如果我列出系统安装的软件包,则已经安装了 2.0.5.12 版的 ibm-db。
我的 IBM i 是 V7R2 版本。
更新 2021-01-15 @ 1:42PM
这个好像不限于最新版的ibm-db。我尝试安装其他几个版本,一直到 2.0.5,我得到了同样的错误。因此听起来环境中缺少某些东西。
尽管在 main ibm-db project, it really doesn't have proper support for being run from IBM i. (It may be the case that connecting to IBM i from some other platform still works; I have not verified this.) If you want to use ibm-db with IBM's Python for PASE, you need to be using Kevin Adler's fork. See the issue 中提到了 IBM i(或 i5)。
最直接的方法是通过 RPM(直接通过 yum 或 Access Client Solutions GUI 安装)。看起来您已经安装了最新版本(撰写本文时为 2.0.5.12)。
此外,如果您想使用虚拟环境(这是个好主意),最好的办法是使用 --system-site-packages
选项,以便它找到安装了 RPM 的环境。
最后,如果您没有绑定到 ibm-db,推荐的连接方式是 PEP-249-ish way is through ODBC. There is now sufficient support for ODBC on PASE that you can actually develop and test code connecting from your PC to IBM i using pyodbc,然后在 PASE 上使用完全相同的代码。
我正在尝试在 IBM i 上使用 Python 运行 将 ibm-db 安装到虚拟环境中。我 运行 进入以下关于 limits.h 没有这样的文件或目录的异常。我发现的所有其他类似问题都在 Linux 或 MacOS 上,因此不确定如何在 IBM i 上解决此问题。
我也尝试在没有虚拟环境的情况下在系统级别执行此操作,运行 遇到了同样的问题。我正在尝试安装 ibm-db 版本 3.0.2(这个问题出现时的最新版本),这可能是问题的一部分。如果我列出系统安装的软件包,则已经安装了 2.0.5.12 版的 ibm-db。
我的 IBM i 是 V7R2 版本。
更新 2021-01-15 @ 1:42PM
这个好像不限于最新版的ibm-db。我尝试安装其他几个版本,一直到 2.0.5,我得到了同样的错误。因此听起来环境中缺少某些东西。
尽管在 main ibm-db project, it really doesn't have proper support for being run from IBM i. (It may be the case that connecting to IBM i from some other platform still works; I have not verified this.) If you want to use ibm-db with IBM's Python for PASE, you need to be using Kevin Adler's fork. See the issue 中提到了 IBM i(或 i5)。
最直接的方法是通过 RPM(直接通过 yum 或 Access Client Solutions GUI 安装)。看起来您已经安装了最新版本(撰写本文时为 2.0.5.12)。
此外,如果您想使用虚拟环境(这是个好主意),最好的办法是使用 --system-site-packages
选项,以便它找到安装了 RPM 的环境。
最后,如果您没有绑定到 ibm-db,推荐的连接方式是 PEP-249-ish way is through ODBC. There is now sufficient support for ODBC on PASE that you can actually develop and test code connecting from your PC to IBM i using pyodbc,然后在 PASE 上使用完全相同的代码。