使用R安装的库用于其他程序?

时间:2011-11-03 00:38:57

标签: python r unix

当R安装包含其他程序/库的包(例如hdf5SQLite)时,我可以在其他程序中使用它们吗?例如,我在hdf5.so中安装了/Library/Frameworks/R.framework/Versions/2.13/Resources/library/hdf5/libs/x86_64/ - 我是否可以使用此代码来安装hdf5以供Python(h5py等)使用。

1 个答案:

答案 0 :(得分:9)

作为一般规则,没有。你也可能误读了这个:hdf5.so是从R到hdf5库的绑定。例如。当(在Linux机器上)我问链接器给定的R库链接到什么时,我会得到类似

的内容
edd@max:~$ ldd /usr/lib/R/site-library/XML/libs/XML.so 
        linux-vdso.so.1 =>  (0x00007fffcbf75000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007fc0a1514000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc0a12fc000)
        libR.so => /usr/lib/libR.so (0x00007fc0a0d92000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc0a09fe000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc0a07fa000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc0a0574000)
        libblas.so.3gf => /usr/lib/atlas-base/atlas/libblas.so.3gf (0x00007fc09fcff000)
        libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007fc09fa1b000)
        libreadline.so.6 => /lib/libreadline.so.6 (0x00007fc09f7d8000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fc09f59c000)
        liblzma.so.2 => /usr/lib/liblzma.so.2 (0x00007fc09f37a000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007fc09f169000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc09ef61000)
        libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fc09ed53000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc09eb34000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc0a1ab6000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc09e91e000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x00007fc09e6d9000)
edd@max:~$ 

表明R的XML包本身依赖于libxml2。

因此,不是提供您正在寻找的库,而是通常只链接到它们。