【发布时间】:2018-11-07 22:02:17
【问题描述】:
我正在尝试从 Mac 上运行的 Robotframework 脚本连接到 informix DB。我已经从http://franz-see.github.io/Robotframework-Database-Library/ 安装了 Robotframework-Database-Library[1.0.1]。
尝试按照https://wiki.python.org/moin/Informix 安装 Informix DB。遇到问题
错误:找不到 esql。请正确设置 INFORMIXDIR。
尝试使用 python 安装 mxODBC。仍然遇到错误
我已经安装了 egenix-mx-base-3.2.9-py2.7_ucs2-macosx-10.5-x86_64-prebuilt 因为这是先决条件。尝试使用 mx-base 验证。
$ pip install egenix-mx-base 已满足要求:/Library/Python/2.7/site-packages 中的 egenix-mx-base。
然后尝试安装 egenix-mxodbc-3.3.6-py2.7_ucs2-macosx-10.4-fat-prebuilt。
msuresh$ python setup.py install 运行安装 找到可用的构建数据文件“build/build-py2.7_ucs2.pck” 找到预建档案:跳过构建过程并加载预建档案 将平台设置为“macosx-10.4-fat” 将 distutils 平台字符串从“macosx-10.13-x86_64”调整为“macosx-10.4-fat” 从以前的构建运行恢复构建数据 为平台“macosx-10.4-fat”加载构建数据 运行 install_lib 编写字节编译脚本'/var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py' /usr/local/opt/python@2/bin/python2.7 -O /var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py 删除 /var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py 运行 install_data 运行 install_egg_info 删除 /usr/local/lib/python2.7/site-packages/egenix_mxodbc-3.3.6-py2.7.egg-info 编写/usr/local/lib/python2.7/site-packages/egenix_mxodbc-3.3.6-py2.7.egg-info
但在尝试验证 mxodbc --> 时确实出错了。
>>> 导入 mx.ODBC.Manager 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“mx/ODBC/Manager/__init__.py”,第 48 行,在 ImportError:无法导入受支持的 ODBC 管理器 unixODBC、iODBC 或 DataDirect:dlopen(/usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so, 2):没有合适的图像成立。发现: /usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so:通用包装器中没有匹配的体系结构 /usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so:通用包装器中没有匹配的体系结构,dlopen(/usr/local/lib/python2.7/site-packages/mx /ODBC/iODBC/mxODBC.so, 2): 找不到合适的图像。发现: /usr/local/lib/python2.7/site-packages/mx/ODBC/iODBC/mxODBC.so:通用包装器中没有匹配的体系结构 /usr/local/lib/python2.7/site-packages/mx/ODBC/iODBC/mxODBC.so:通用包装器中没有匹配的架构,没有名为 DataDirect 的模块
.. 任何通过 Robotframework 获得 informix 连接的帮助将不胜感激。
【问题讨论】:
-
您是否在egenix-mxodbc 页面上完成了安装过程?
-
是的,我已经安装了 egenix-mx-base-3.2.9-py2.7_ucs2-macosx-10.5-x86_64-prebuilt,然后尝试安装 egenix-mx-base-3.2.9-py2 .7_ucs2-macosx-10.5-x86_64-prebuilt。尝试使用 --> $ pip install egenix-mx-base 验证 mx-base 已满足要求:/Library/Python/2.7/site-packages 中的 egenix-mx-base。但是在尝试验证 mxodbc --> 时确实出错了。 > ** ImportError:无法导入受支持的 ODBC 管理器 unixODBC、iODBC 或 DataDirect:dlopen(/usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so, 2):没有找到合适的图片。找到了:**
-
您能否将信息添加到问题本身,而不是作为评论发布。这将为您提供更多格式选项,并将您的所有信息保存在一个地方。
-
感谢您的提示。我希望我已经把问题说清楚了
-
在Robotframework-Database-Library 转到链接的A Database API Specification 2.0 Python Module 页面上,您会在[通用数据库](wiki.python.org/moin/…) 下找到Informix。在mxODBC 部分下,您会发现以下注释:
The Informix ODBC drivers needed for mxODBC are included in the Informix CSDK.您安装了吗?
标签: python-3.x robotframework informix