代码之家  ›  专栏  ›  技术社区  ›  Majid Hojati

rpy2 LD_LIBRARY_PATH冲突

  •  0
  • Majid Hojati  · 技术社区  · 6 年前

    我在linux ubunto中遇到了两个库之间的冲突问题。我在用Netezza ODBC 司机和我必须 LD_LIBRARY_PATH export LD_LIBRARY_PATH='/home/m/nz/lib64' 图书馆也能用。当我想用的时候 rpy2 库如果我设置这个变量,我将面临这个错误

      warnings.warn(x, RRuntimeWarning)
    Traceback (most recent call last):
      File "/home/m/PycharmProjects/sandbox/pyodbcsample.py", line 22, in <module>
        DGGRID_PACKAGE= importr("dggridR")
      File "/home/m/.local/lib/python3.6/site-packages/rpy2/robjects/packages.py", line 453, in importr
        env = _get_namespace(rname)
    rpy2.rinterface.RRuntimeError: Error in dyn.load(file, DLLpath = DLLpath, ...) : 
      unable to load shared object '/home/m/R/x86_64-pc-linux-gnu-library/3.5/rgdal/libs/rgdal.so':
      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2: symbol k5_buf_free version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
    

    当我不设置此环境变量时 rpy2型 odbc 司机停止工作。

    很明显,问题出在这个系统环境中,我试图将这个字符串作为系统环境添加,但是仍然不起作用 {$LD_LIBRARY_PATH}:$HOME/lib:/home/m/R/x86_64-pc-linux-gnu-library/3.5:/lib:/usr/lib/R/library/stats/libs/:/home/m/nzClient/linux64/driver/lib64:/usr/lib/x86_64-linux-gnu/:/lib64/:/lib/x86_64-linux-gnu/

    我还试图将这些库路径添加到此文件中 sudo gedit /etc/ld.so.conf.d/randomLibs.conf 避免设置 ld_library_path

    我有什么办法来解决这个冲突。

    0 回复  |  直到 6 年前