Python 3.x 如何在docker image python3.6中安装ifxpy模块

Python 3.x 如何在docker image python3.6中安装ifxpy模块,python-3.x,docker,informix,Python 3.x,Docker,Informix,Hi已使用基本映像python3.6创建了docker映像 我已经使用“pip install ifxpy”安装了ifxpy,在成功构建ifxpy-3.0.1之后,我尝试导入ifxpy库,但它给出了错误 已成功构建flask jwt idna ssl 安装收集的软件包:单击, ifxpy-3.0.1-1.1.0 multidict-4.5.2 pytz-2019.1请求-2.22.0计划-0.6.0键入-扩展-3.7.4 urllib3-1.25.3 yarl-1.3.0 来自docker的错误

Hi已使用基本映像python3.6创建了docker映像

我已经使用“pip install ifxpy”安装了ifxpy,在成功构建ifxpy-3.0.1之后,我尝试导入ifxpy库,但它给出了错误

已成功构建flask jwt idna ssl 安装收集的软件包:单击, ifxpy-3.0.1-1.1.0 multidict-4.5.2 pytz-2019.1请求-2.22.0计划-0.6.0键入-扩展-3.7.4 urllib3-1.25.3 yarl-1.3.0

来自docker的错误日志:-

Traceback (most recent call last):
  File "/home/pythonuser/Informix_Conn.py", line 3, in <module>
    import IfxPyDbi as dbapi2
  File "/usr/local/lib/python3.6/site-packages/IfxPyDbi.py", line 43, in <module>
    import IfxPy
ImportError: libifdmr.so: cannot open shared object file: No such file or directory
回溯(最近一次呼叫最后一次):
文件“/home/pythonuser/Informix_Conn.py”,第3行,在
将IfxPyDbi作为dbapi2导入
文件“/usr/local/lib/python3.6/site packages/IfxPyDbi.py”,第43行,在
导入IfxPy
ImportError:libifdmr.so:无法打开共享对象文件:没有此类文件或目录

所以
是Informix客户端SDK的库


因此,首先安装Informix客户端SDK。此外,还必须设置环境变量
LD\u LIBRARY\u PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli
libifdmr。因此,
是Informix客户端SDK的库


因此,首先安装Informix客户端SDK。此外,您必须设置环境变量
LD_LIBRARY\u PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli

“libifdmr.so”是CSDK中包含的库之一,因此您需要在映像中安装它,然后才能安装IfxPyThanks进行回复!!我已经成功地在linux机器上安装了CSDK并设置了所有路径,但在尝试连接到db Exception(“[Informix][Informix ODBC Driver][Informix]未指定的系统错误=-23101.SQLCODE=-23101”)之后,我仍然遇到以下错误:好的,至少这是一个进步;)。23101通常是由于环境中未设置INFORMIXDIR而导致的。ODBC驱动程序需要从$INFORMIXDIR加载一些文件(例如语言/消息)。试着在环境中的某个地方设置它。您还需要将LD_LIBRARY_PATH设置为$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli。因此,其余的库都已正确加载。感谢@jsagera帮助我完成所有查询,我们已通过设置环境变量解决了问题。“libifdmr.so”是CSDK中包含的库之一,因此您需要在映像中安装它,然后才能安装IfxPyThanks进行回复!!我已经成功地在linux机器上安装了CSDK并设置了所有路径,但在尝试连接到db Exception(“[Informix][Informix ODBC Driver][Informix]未指定的系统错误=-23101.SQLCODE=-23101”)之后,我仍然遇到以下错误:好的,至少这是一个进步;)。23101通常是由于环境中未设置INFORMIXDIR而导致的。ODBC驱动程序需要从$INFORMIXDIR加载一些文件(例如语言/消息)。试着在环境中的某个地方设置它。您还需要将LD_LIBRARY_PATH设置为$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli。因此,其余的库都已正确加载。感谢@jsagera帮助我完成所有查询,我们通过设置环境变量解决了问题。