tl;dr 我可以配置rpy2以便它加载conda安装而不是系统安装吗
我的问题
当我运行rpy2
时,它使用R的系统安装,但它会从R的conda安装中反思并加载库。
这有各种各样的副作用,如断层等
复制
我在我的系统管理员安装的Ubuntu18服务器上安装了R。 我想将conda与python和rpy2结合使用,以确保可以自由选择版本
下面,您可以看到我在一个名为(rnvp)
的conda环境中,rpy2
标识了R的4.0.5 conda安装,但是rpy2.robjects
库加载了system R安装,即4.0.3
当运行situation
脚本时,我得到以下结果
(rnvp) ludhu126@hyperion:~/real-nvp/real-nvp$ python
Python 3.9.6 (default, Aug 18 2021, 19:38:01)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import rpy2.robjects as ro
During startup - Warning messages:
1: package ‘methods’ was built under R version 4.0.5
2: package ‘datasets’ was built under R version 4.0.5
3: package ‘utils’ was built under R version 4.0.5
4: package ‘grDevices’ was built under R version 4.0.5
5: package ‘graphics’ was built under R version 4.0.5
6: package ‘stats’ was built under R version 4.0.5
>>> print(ro.r)
<rpy2.robjects.R object at 0x7f8f16ece8b0>
platform: x86_64-pc-linux-gnu
arch: x86_64
os: linux-gnu
system: x86_64, linux-gnu
status:
major: 4
minor: 0.3
year: 2020
month: 10
day: 10
svn rev: 79318
language: R
version.string: R version 4.0.3 (2020-10-10)
nickname: Bunny-Wunnies Freak Out
>>> import rpy2.situation
>>> for row in rpy2.situation.iter_info():
... print(row)
...
rpy2 version:
3.4.5
Python version:
3.9.6 (default, Aug 18 2021, 19:38:01)
[GCC 7.5.0]
Looking for R's HOME:
Environment variable R_HOME: /home/ludhu126/miniconda3/envs/rnvp/lib/R
Calling `R RHOME`: /home/ludhu126/miniconda3/envs/rnvp/lib/R
Environment variable R_LIBS_USER: None
R's additions to LD_LIBRARY_PATH:
R version:
In the PATH: R version 4.0.5 (2021-03-31) -- "Shake and Throw"
Loading R library from rpy2: OK
Additional directories to load R packages from:
None
C extension compilation:
include:
['/home/ludhu126/miniconda3/envs/rnvp/lib/R/include']
libraries:
['R', 'pcre2-8', 'lzma', 'bz2', 'z', 'rt', 'dl', 'm', 'iconv', 'icuuc', 'icui18n']
library_dirs:
['/home/ludhu126/miniconda3/envs/rnvp/lib', '/home/ludhu126/miniconda3/envs/rnvp/lib/R/lib', '/home/ludhu126/miniconda3/envs/rnvp/lib']
extra_compile_args:
[]
extra_link_args:
['-Wl,--export-dynamic', '-fopenmp', '-Wl,-O2', '-Wl,--sort-common', '-Wl,--as-needed', '-Wl,-z,relro', '-Wl,-z,now', '-Wl,--disable-new-dtags', '-Wl,--gc-sections', '-Wl,-rpath,/home/ludhu126/miniconda3/envs/rnvp/lib', '-Wl,-rpath-link,/home/ludhu126/miniconda3/envs/rnvp/lib']
终端指向康达安装的R,实际上是4.0.5
(rnvp) ludhu126@hyperion:~/real-nvp/real-nvp$ which R
/home/ludhu126/miniconda3/envs/rnvp/bin/R
(rnvp) ludhu126@hyperion:~/real-nvp/real-nvp$ R --version
R version 4.0.5 (2021-03-31) -- "Shake and Throw"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-conda-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.
在这个环境之外,我有来自/usr/lib/R
的R4.0.3
(rnvp) ludhu126@hyperion:~/real-nvp/real-nvp$ conda activate base
(base) ludhu126@hyperion:~/real-nvp/real-nvp$ which R
/usr/bin/R
(base) ludhu126@hyperion:~/real-nvp/real-nvp$ R --version
R version 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.
问题 我是否可以配置rpy2以使其加载conda安装
关闭重复项
which R
表明这不是问题李>
运行
可以告诉我们
rpy2
是如何看待其环境的。除非指定了R_HOME
,否则它将从PATH
中的第一个R中选择所需的内容。如果指定了不匹配的LD_LIBRARY_PATH
或预加载了不匹配的共享R库,则可能会出现问题使用链接器标志在本地重新编译rpy2,以说明要链接到哪个链接器库
受到博文https://thomas-cokelaer.info/blog/2012/01/installing-rpy2-with-different-r-version-already-installed/的启发,我决定从源代码重新编译
rpy2
,并将R路径作为环境变量提供给编译相关问题 更多 >
编程相关推荐