【问题标题】:difficulty installing rpy2 using Python 3.8 via anaconda with R version 4.0.2 on Mac osx在 Mac osx 上通过带有 R 版本 4.0.2 的 anaconda 使用 Python 3.8 安装 rpy2 困难
【发布时间】:2021-03-21 08:40:24
【问题描述】:

我以前从未在 python 中使用过 R 代码,但我想这样做是为了实现一些 Poisson 回归模型。原因是效率(泊松回归的 R 代码效率更高)。我试图通过在终端中输入以下内容来安装 rpy2:

conda install -c r rpy2

我也尝试过使用 pip install ,但没有成功。当我尝试在终端中运行它时,它会在终端本身中返回以下错误:

解决环境:来自 current_repodata.json 的 repodata 失败,将使用下一个 repodata 源重试。 收集包元数据(repodata.json):完成 求解环境:初始冻结求解失败。使用灵活的求解重试。 求解环境:/ 发现冲突!寻找不兼容的软件包。 这可能需要几分钟。按 CTRL-C 中止。 失败

UnsatisfiableError: 发现以下规格 与您环境中现有的 python 安装不兼容:

规格:

  • rpy2 -> python[version='2.7.|3.5.|3.6.|>=2.7,=3.5,= 3.6,=3.7,|3.3.*']

你的蟒蛇:python=3.8

如果 python 位于链的最左侧,那就是您要求的版本。 当python出现在右边时,这表明左边的东西不知何故 不适用于您受限的 python 版本。请注意,conda 不会 除非您明确指定,否则将您的 python 版本更改为不同的次要版本 那个。

使用 pip install 并运行一些引用 rpy2 模块的代码后,我收到以下错误:

import rpy2.robjects as robjects
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector


package_names = ('stats')

if all(rpackages.isinstalled(x) for x in package_names):
    have_package = True

else: 
    have_package = False

if not have_package: 
    utils = rpackages.importr('utils')
    utils.chooseCRANmirror(ind=1)
    
    packnames_to_install = [x for x in package_names if not rpackages.isinstalled(x)]
    
    if len(packnames_to_install) > 0: 
        utils.install_packages(StrVector(packnames_to_install))

OSError: 无法加载库 '/Users/name/opt/anaconda3/lib/R/lib/libR.dylib': dlopen(/Users/name/opt/anaconda3/lib/R/lib/libR.dylib, 2):库未加载:@rpath/libreadline.6.2.dylib 引用自:/Users/name/opt/anaconda3/lib/R/lib/libR.dylib 原因:找不到图片

NameError: 名称“rpackages”未定义

有谁知道我如何在我的 python 3.8 中成功使用 rpy2?这似乎是 anaconda 的常见问题,但我无法在网上找到任何可行的解决方案。非常感谢您提供的任何帮助!

【问题讨论】:

    标签: python r anaconda rpy2 poisson


    【解决方案1】:

    rpy2 在 conda 的默认频道中不可用。试试:

        conda install -c conda-forge rpy2
    

    它使用 conda-forge 频道。

    编辑:实际上,我发现最好的方法是:

    1. 使用 miniconda 发行版。

    2. 创建特定于项目的 conda 环境。

    3. 激活这个环境。

    4. 安装 conda 默认频道中可用的所有 conda 包。

    5. 然后

       pip install rpy2
      

    更多详情:https://www.anaconda.com/blog/using-pip-in-a-conda-environment

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 1970-01-01
      • 2012-12-08
      • 2012-07-27
      • 2021-06-11
      • 2018-02-16
      • 2017-03-08
      • 1970-01-01
      • 2012-06-14
      相关资源
      最近更新 更多