【问题标题】:Error: Tried to guess R's HOME but no command (R) in the PATH on centos错误:试图猜测 R 的 HOME 但在 centos 的 PATH 中没有命令(R)
【发布时间】:2016-01-06 11:47:00
【问题描述】:

我正在使用 R 2.7.2 和 python 2.6.6 并在 centos 6.7 上下载了 rpy2-2.7.6 。我正在尝试使用多种方式在 centos 上安装 ryp2。

  1. python setup.py build --r-home=/usr/lib64/R/lib install
  2. pip install ryp2

遇到常见错误:

Error: Tried to guess R's HOME but no command (R) in the PATH " . 

除此之外,我还在.bashrc 中添加了 PATH 和 LD_LIBRARY_PATH,其中包含 R_home 和 R bin 路径。

仍然出现同样的错误。请帮我解决这个问题。

【问题讨论】:

    标签: python rpy2


    【解决方案1】:

    以下内容适用于仍在运行 Python 2.6 的 RHEL6。为了让 rpy2 安装脚本找到 R,我们需要将 Python 2.7 中的一些代码复制到 rpy2 的安装文件中。
    运行后

    pip install rpy2
    

    正如您所描述的那样失败,输出告诉我们在哪里寻找下载的代码(例如 /tmp/pip-build-meuser/rpy2/ )

    访问该文件夹并编辑 setup.py 在第一个“def”行之前添加以下代码:

    import subprocess
    
    if "check_output" not in dir( subprocess ): # duck punch it in!
        def f(*popenargs, **kwargs):
            if 'stdout' in kwargs:
                raise ValueError('stdout argument not allowed, it will be overridden.')
            process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
            output, unused_err = process.communicate()
            retcode = process.poll()
            if retcode:
                cmd = kwargs.get("args")
                if cmd is None:
                    cmd = popenargs[0]
                raise subprocess.CalledProcessError(retcode, cmd)
            return output
        subprocess.check_output = f
    

    保存文件。现在再次尝试您的 pip install 行;它应该工作。

    供参考,该来源来自https://hg.python.org/cpython/file/d37f963394aa/Lib/subprocess.py#l544 解决方案来自一个类似的问题,subprocess.check_output() doesn't seem to exist (Python 2.6.5)

    如果您碰巧在没有 root 访问权限的服务器上运行,您可能会使用安装命令

    pip install --upgrade -v --user rpy2
    

    将最新的 rpy2 安装到您的本地(用户)帐户中。其他一切都一样。

    【讨论】:

    • 我有同样的问题,想应用你的解决方案。但是,错误行中报告的目录在创建后立即被删除。有什么办法可以克服吗?
    • 对不起。我已经离开 RHEL。其他人可以帮忙吗?虽然 Ctrl-z 会中断/暂停 pip 进程...(键入“fg”以恢复它)
    【解决方案2】:

    为什么要使用 pip 而可以按如下方式安装包:

    sudo apt-get update
    
    sudo apt-get install python-rpy2
    

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 2015-07-16
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 2016-05-30
      • 2016-10-28
      相关资源
      最近更新 更多