2015-06-21 163 views
0

我嘗試使用命令有R 3.1.1我的電腦上安裝rpy2:無法安裝rpy2正確

pip install rpy2 --user 

它輸出的成功,但是當我嘗試使用,以測試它

python -m rpy2.tests 

它給我以下錯誤

File "/mnt/work1/software/python/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "/mnt/work1/software/python/2.7/lib/python2.7/runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "/mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/rpy2-2.6.0-py2.7-linux-x86_64.egg/rpy2/tests.py", line 23, in <module> 
    import rpy2.tests_rpy_classic 
    File "/mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/rpy2-2.6.0-py2.7-linux-x86_64.egg/rpy2/tests_rpy_classic.py", line 3, in <module> 
    import rpy2.rpy_classic as rpy 
    File "/mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/rpy2-2.6.0-py2.7-linux-x86_64.egg/rpy2/rpy_classic.py", line 5, in <module> 
    import rpy2.rinterface as ri 
    File "/mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/rpy2-2.6.0-py2.7-linux-x86_64.egg/rpy2/rinterface/__init__.py", line 100, in <module> 
    from rpy2.rinterface._rinterface import * 
ImportError: /mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/rpy2-2.6.0-py2.7-linux-x86_64.egg/rpy2/rinterface/_rinterface.so: undefined symbol: R_ClassSymbol 

它SEMES等是這種情況,在C包括的R路徑沒有在E設置nvironment可變casuing的sexp.c彙編不包括從R的文件夾,其中,所述R_ClassSymbol定義

然而在~/.bashrc我並設置以下的Rinternals.h: 出口C_INCLUDE_PATH =「/ MNT/WORK1 /軟件/ R/3.1 ·1/lib64下/ R /包括:$ {} C_INCLUDE_PATH」 出口LD_LIBRARY_PATH = 「到/ mnt/WORK1 /軟件/ R/3.1.1/lib64下/ R/lib目錄下:$ {LD_LIBRARY_PATH}」

所以我覺得這個錯誤不應該發生。任何想法爲什麼會發生?

完全安裝日誌:

Downloading/unpacking rpy2 
    Running setup.py (path:/tmp/pip_build_stamaki/rpy2/setup.py) egg_info for package rpy2 
    R was not built as a library 
    R was not built as a library 
    /tmp/pip_build_stamaki/rpy2/setup.py:211: UserWarning: No include specified 
     warnings.warn('No include specified') 
    /tmp/pip_build_stamaki/rpy2/setup.py:222: UserWarning: No libraries as -l arguments to the compiler. 
     warnings.warn('No libraries as -l arguments to the compiler.') 
    R version 3.1.1 (2014-07-10) -- "Sock it to Me" 
    /mnt/work1/software/R/3.1.1/lib64/R/bin/R CMD config --ldflags 
    /mnt/work1/software/R/3.1.1/lib64/R/bin/R CMD config --cppflags 

     Compilation parameters for rpy2's C components: 
      include_dirs = [] 
      library_dirs = [] 
      libraries  = [] 
      extra_link_args = [] 


    R version 3.1.1 (2014-07-10) -- "Sock it to Me" 
    warning: no files found matching 'README' anywhere in distribution 
    warning: no previously-included files matching '*patch*' found anywhere in distribution 
    warning: no previously-included files matching '*diff*' found anywhere in distribution 
    warning: no previously-included files matching '.hg' found anywhere in distribution 
    warning: no files found matching 'MANIFEST' 
    warning: no files found matching 'README' 
    warning: no files found matching 'MPL_LICENSE' 
    warning: no files found matching 'GPL_LICENSE' 
    warning: no files found matching 'LGPL_LICENSE' 
    no previously-included directories found matching 'dist' 
    warning: no files found matching 'doc/source/rpy2_logo.png' 
Requirement already satisfied (use --upgrade to upgrade): six in /mnt/work1/software/python/2.7/lib/python2.7/site-packages (from rpy2) 
Requirement already satisfied (use --upgrade to upgrade): singledispatch in /mnt/work1/users/home2/stamaki/.local/lib/python2.7/site-packages/singledispatch-3.4.0.3-py2.7.egg (from rpy2) 
Installing collected packages: rpy2 
    Running setup.py install for rpy2 
    R was not built as a library 
    R was not built as a library 
    /tmp/pip_build_stamaki/rpy2/setup.py:211: UserWarning: No include specified 
     warnings.warn('No include specified') 
    /tmp/pip_build_stamaki/rpy2/setup.py:222: UserWarning: No libraries as -l arguments to the compiler. 
     warnings.warn('No libraries as -l arguments to the compiler.') 
    R version 3.1.1 (2014-07-10) -- "Sock it to Me" 
    /mnt/work1/software/R/3.1.1/lib64/R/bin/R CMD config --ldflags 
    /mnt/work1/software/R/3.1.1/lib64/R/bin/R CMD config --cppflags 

     Compilation parameters for rpy2's C components: 
      include_dirs = [] 
      library_dirs = [] 
      libraries  = [] 
      extra_link_args = [] 

    R version 3.1.1 (2014-07-10) -- "Sock it to Me" 
    building 'rpy2.rinterface._rinterface' extension 
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/mnt/work1/software/python/2.7/include/python2.7 -I/mnt/work1/software/python/2.7/include/ -fPIC -DR_INTERFACE_PTRS=1 -DHAVE_POSIX_SIGJMP=1 -DRIF_HAS_RSIGHAND=1 -DCSTACK_DEFNS=1 -DHAS_READLINE=1 -I./rpy/rinterface -I/mnt/work1/software/python/2.7/include/python2.7 -c ./rpy/rinterface/_rinterface.c -o build/temp.linux-x86_64-2.7/./rpy/rinterface/_rinterface.o 
    In file included from /mnt/work1/software/python/2.7/include/python2.7/Python.h:8, 
        from ./rpy/rinterface/_rinterface.c:55: 
    /mnt/work1/software/python/2.7/include/python2.7/pyconfig.h:1161:1: warning: "_POSIX_C_SOURCE" redefined 
    In file included from /usr/include/signal.h:29, 
        from ./rpy/rinterface/_rinterface.c:51: 
    /usr/include/features.h:213:1: warning: this is the location of the previous definition 
    In file included from ./rpy/rinterface/_rinterface.c:122: 
    ./rpy/rinterface/embeddedr.c: In function ‘SexpObject_clear’: 
    ./rpy/rinterface/embeddedr.c:48: warning: unused variable ‘res’ 
    In file included from ./rpy/rinterface/_rinterface.c:125: 
    ./rpy/rinterface/sexp.c: In function ‘Sexp_init’: 
    ./rpy/rinterface/sexp.c:738: warning: unused variable ‘copy’ 
    ./rpy/rinterface/_rinterface.c: At top level: 
    ./rpy/rinterface/sequence.c:2174: warning: ‘ComplexVectorSexp_AsSexp’ defined but not used 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_ShowFiles’: 
    ./rpy/rinterface/_rinterface.c:874: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_ResetConsole’: 
    ./rpy/rinterface/_rinterface.c:720: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_FlushConsole’: 
    ./rpy/rinterface/_rinterface.c:686: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_ChooseFile’: 
    ./rpy/rinterface/_rinterface.c:770: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_ReadConsole’: 
    ./rpy/rinterface/_rinterface.c:541: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_WriteConsoleEx’: 
    ./rpy/rinterface/_rinterface.c:382: warning: ‘consolecallback’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c:397: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_ShowMessage’: 
    ./rpy/rinterface/_rinterface.c:472: warning: ‘gstate’ may be used uninitialized in this function 
    ./rpy/rinterface/_rinterface.c: In function ‘EmbeddedR_CleanUp’: 
    ./rpy/rinterface/_rinterface.c:1022: warning: ‘gstate’ may be used uninitialized in this function 
    gcc -pthread -shared -L/mnt/work1/software/python/2.7/lib/ -I/mnt/work1/software/python/2.7/include/python2.7 -I/mnt/work1/software/python/2.7/include/ build/temp.linux-x86_64-2.7/./rpy/rinterface/_rinterface.o -o build/lib.linux-x86_64-2.7/rpy2/rinterface/_rinterface.so 
    building 'rpy2.rinterface._rpy_device' extension 
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/mnt/work1/software/python/2.7/include/python2.7 -I/mnt/work1/software/python/2.7/include/ -fPIC -DR_INTERFACE_PTRS=1 -DHAVE_POSIX_SIGJMP=1 -DRIF_HAS_RSIGHAND=1 -DCSTACK_DEFNS=1 -DHAS_READLINE=1 -Irpy/rinterface -I/mnt/work1/software/python/2.7/include/python2.7 -c ./rpy/rinterface/_rpy_device.c -o build/temp.linux-x86_64-2.7/./rpy/rinterface/_rpy_device.o 
    ./rpy/rinterface/_rpy_device.c:935: warning: ‘GrDev_clear’ defined but not used 
    gcc -pthread -shared -L/mnt/work1/software/python/2.7/lib/ -I/mnt/work1/software/python/2.7/include/python2.7 -I/mnt/work1/software/python/2.7/include/ build/temp.linux-x86_64-2.7/./rpy/rinterface/_rpy_device.o -o build/lib.linux-x86_64-2.7/rpy2/rinterface/_rpy_device.so 

    warning: no files found matching 'README' anywhere in distribution 
    warning: no previously-included files matching '*patch*' found anywhere in distribution 
    warning: no previously-included files matching '*diff*' found anywhere in distribution 
    warning: no previously-included files matching '.hg' found anywhere in distribution 
    warning: no files found matching 'MANIFEST' 
    warning: no files found matching 'README' 
    warning: no files found matching 'MPL_LICENSE' 
    warning: no files found matching 'GPL_LICENSE' 
    warning: no files found matching 'LGPL_LICENSE' 
    no previously-included directories found matching 'dist' 
    warning: no files found matching 'doc/source/rpy2_logo.png' 
Successfully installed rpy2 
Cleaning up... 

另外,請不要推薦我反正需要須藤如因爲有時重新安裝[R他人reommended。我沒有系統的行政預告。

回答

2

靠近日誌的頂部,您會看到:R不是作爲庫構建的。

R 必須被編譯爲一個共享庫,以便rpy2工作。

+0

我檢查一下,是的,你是正確的。我想我無法解決這個問題,因爲我無法申請。 –

+1

您可以編譯自己的R並將其安裝在您喜歡/可寫的位置。不需要sudo。 – lgautier