8

我正在尝试安装 rpy2 包并同时出现以下错误

C:\python27>easy_install rpy2

Searching for rpy2
Reading http://pypi.python.org/simple/rpy2/
Reading http://rpy.sourceforge.net
Best match: rpy2 2.3.3
Downloading http://pypi.python.org/packages/source/r/rpy2/rpy2-2.3.3.tar.gz#md5=6cd95eb70645577cb53198ef0a32395e
Processing rpy2-2.3.3.tar.gz
Running rpy2-2.3.3\setup.py -q bdist_egg --dist-dir c:\users\chetan~1\appdata\local\temp\easy_install-wfxip9\rpy2-2.3.3\egg-di
st-tmp-rrezfb
"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags
Invalid substring

in string

C:\Python27\lib\site-packages\setuptools\command\easy_install.py:921: RuntimeWarning: tp_compare didn't return -1 or -2 for ex
ception
  raise DistutilsError("Setup script exited with %s" % (v.args[0],))
error: Setup script exited with Problem while running `"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags`

当我尝试 pip 这就是我得到的

c:\Python27\Lib\site-packages\django\bin>pip install rpy2

下载/解压 rpy2 为包 rpy2 运行 setup.py egg_info

"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags
Invalid substring

in string

Problem while running `"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags`
4

3 回答 3

1

我也花了几天时间......然后我偶然发现了这个线程,其中给出了一个链接:http ://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2

在此页面上,您可以找到(以及其他有用的东西)用于 Windows 和不同版本 Python 的 rpy2 的预编译版本。它显然只适用于 R 2.15.3,我没有尝试使用其他版本。

于 2013-08-08T16:28:21.427 回答
0

最近不得不尝试从源代码构建它。获得了 rpy2-2.2.2 版本,因此我可以在 Oracle Linux 上与 Python 2.6.6 一起使用。

让它工作的解决方案是在 setup.py 脚本中修复一些事情。

首先,允许 get_rconfig() 允许空字符串。如果有办法标记这一点,那对我来说并不明显:

    config = RConfig()
    for about in ('--ldflags', '--cppflags',
                  'LAPACK_LIBS', 'BLAS_LIBS'):
        #config += get_rconfig(r_home, about)
        config += get_rconfig(r_home, about, allow_empty = True)

其次,使用 RConfig.from_string 中的 dropthrough 修复一个错误,它引用了一个不存在的变量:

            elif rconfig_m is None:
                if allow_empty:
                #if allow_empty and (rconfig == ''):
                    print(cmd + '\nreturned an empty string.\n')

然后,这允许解析 R CMD 配置循环和空案例(如果您的 R 构建未构建为共享库,您可能会遇到这种情况)并且我能够完成循环

python setup.py 构建安装

于 2014-06-08T19:41:48.100 回答
0

错误

"C:\PROGRA~2\R\R-28~1.0\bin\R" CMD config --ldflags

可能是由于 windows 中没有类似 unix 的工具造成的。(您可能还遇到过类似的错误

'sh' 不是内部或外部命令、可运行程序或批处理文件

通过安装 Rtools 和 mingw 编译器并更改 setup.py 和 unixccompiler.py 文件,我终于让它在 Windows 7 上运行。请参阅Windows 7 上的 rpy2 安装

还有错误

%load_ext rmagic

RuntimeError("无法在 %s 中找到 R.dll" % RHOME)

是由于 rpy2 无法在代码中正确找到 R.dll 造成的。您可以将 R_HOME 环境变量添加为外部文件夹,例如 C:\Program Files\R\R-3.0.2(有关详细信息,请参阅链接)。

希望这可以帮助..

于 2015-02-03T09:22:08.517 回答