首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R包安装在2个不同的位置

R包安装在2个不同的位置
EN

Stack Overflow用户
提问于 2015-12-11 14:20:00
回答 1查看 63关注 0票数 0

我在两个位置安装了R包ape,它们都是.libPath()的一部分

  • ape 3.3版在location1
  • ape 3.4版location2

ape版本3.4中,有一个新函数clustalomega。我还没有加载两个包中的任何一个(使用library)

ape::clustalomega不能在我的机器上工作。我怀疑这是因为R首先考虑的是它在location1中找到的旧版本的ape

我尝试用.libPath(rev(.libPath())颠倒libPath的顺序,但没有改变任何东西。

有没有办法确保我们优先从位置2获取软件包(我无法控制location1上安装了什么)

EN

回答 1

Stack Overflow用户

发布于 2015-12-11 14:39:21

解决方案在于函数unloadNamespace。似乎当R启动时,即使它没有加载library("ape"),它仍然从它能找到的第一个lib.loc (在本例中是location1)加载包的名称空间。

因此,为了强制从另一个位置加载名称空间,我们需要这样做:

ape::clustalomega #不存在

% loadedNamespaces() #中的‘'ape’%返回TRUE

unloadNamespace(ns = 'ape') 'ape‘%in% loadedNamespaces() #返回错误的包(loadNamespace= 'ape',lib.loc = location2)

ape::clustalomega #现在可以在上运行

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34217269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档