11

我正在尝试构建和安装 rpy2 Python 模块。但出现错误(见下文)。

我已经安装了 RC:\Program Files\R\R-2.15.0\并且R.hC:\Program Files\R\R-2.15.0\include. 如何告诉 setup.py 在该目录中找到 R 标头?

Python 和 R 都是使用 Windows 64 位的官方二进制文件安装的。

有人可以为 Windows 64 位和 Python2.7 64 位贡献一个 rpy2 二进制构建吗?Christoph Gohlke 说出于法律或技术原因,rpy2 未包含在他的非官方 Windows 二进制文件中用于 Python 扩展包。其他人有成功的打击吗?

谢谢!

给定以下过程:

$ python setup.py  build
running build
running build_py
running build_ext

returned an empty string. (5 times)

将此配置用于 R 作为库:

include_dirs: ()
libraries: ()
library_dirs: ('C:/PROGRA~1/R/R-215~1.0/bin/i386',)
extra_link_args: ()
 # OSX-specific (included in extra_link_args)
  framework_dirs: ()
  frameworks: ()

使用以下命令构建“rpy2.rinterface._rinterface”扩展:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe /c 
/nologo /Ox /MD /W3 /GS- /DNDEBUG -DWin32=1 -DCSTACK_DEFNS=1 
-I.\rpy\rinterface -IC:\Python27\include -IC:\Python27\PC 
/Tc.\rpy\rinterface\_rinterface.c 
/Fobuild\temp.win-amd64-2.7\Release\.\rpy\rinterface\_rinterface.obj
_rinterface.c

给出这个错误:

.\rpy\rinterface\_rinterface.c(61) : fatal error C1083: Cannot open include file: 
'R.h': No such file or directory
error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe"' 
failed with exit status 2
4

5 回答 5

4

这是 rpy2 Windows 二进制文件、所有 Python 版本和 x86/x64 的链接:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2

于 2014-12-15T02:05:27.263 回答
2

我的经验(2.7.9(默认,2014 年 12 月 10 日,12:28:03)[MSC v.1500 64 位(AMD64)]):-所有二进制安装程序-显然 rpy2 具有未指定的依赖项-安装了 numpy 和 scipy(win_amd64二进制文件)及其未指定的依赖项

  1. 安装 R,安装所需的软件包
  2. 安装pywin32
  3. “点安装单调度”
  4. “点安装 rpy2-2.5.6-cp27-none-win_amd64.whl”
  5. 更新环境,例如 os.environ['R_HOME'] = r'C:\Program Files\R\R-3.1.3' os.environ['R_USER'] = r'C:\Python27\Lib\site-packages \rpy2'
于 2015-04-15T17:13:52.123 回答
1

我自己也在做同样的事情。位于的库等表明您正在选择 32 位版本 i386。添加“C:\Program Files\R\R-2.15.1\include”包含目录可能​​有助于强制解决问题。这是我得到的最远的:

building 'rpy2.rinterface._rinterface' extension
error: Unable to find vcvarsall.bat

在路径中使用 MSVC express shell 和 R x64 和 msys sh。

于 2012-08-28T11:56:17.970 回答
1

我在我的 Windows 10 上尝试了所有这些,但一无所获。当我执行时pip,它说它已安装到我已经使用了几个月的 Anaconda 版本中,但是当我尝试执行时import rpy,它只是给出了一个错误。

打算放弃,但后来我睡了一晚,然后我从命令行执行了以下操作:

  • 删除了我所有的旧 Python 实例,包括 Anaconda
  • 重新启动
  • 重新安装 Anaconda(2.4.1 和 Python 版本 2.7.11)
  • 确保 python 从任何目录的命令行运行
  • 启动了我的“mingw32”bash shell(附带的那个git
  • 将我的个人R_HOME环境变量设置为C:\Program Files\R\R-3.2.3
  • 如上所述rpy2-2.7.5-cp27-none-win_amd64.whlhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2下载。
  • 将工作目录更改为我的用户Downloads目录
  • 安装它pip install rpy2-2.7.5-cp27-none-win_amd64.whl
  • 启动python并成功导入和rn py2

这是最后步骤的屏幕截图:

mwise@MWISE-OPTO ~/Downloads
$ pip install rpy2-2.7.5-cp27-none-win_amd64.whl
Processing c:\users\mwise\downloads\rpy2-2.7.5-cp27-none-win_amd64.whl
Requirement already satisfied (use --upgrade to upgrade): six in c:\users\mwise\appdata\local\continuum\anaconda2\lib\site-packages (from rpy2==2.7.5)
Requirement already satisfied (use --upgrade to upgrade): singledispatch in c:\users\mwise\appdata\local\continuum\anaconda2\lib\site-packages (from rpy2==2.7.5
)
Installing collected packages: rpy2
Successfully installed rpy2-2.7.5

mwise@MWISE-OPTO ~/Downloads
$ python
Python 2.7.11 |Anaconda 2.4.1 (64-bit)| (default, Dec  7 2015, 14:10:42) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import rpy2
>>> import rpy2.robjects as robjects
>>> pi = robjects.r['pi']
>>> pi[0]
3.141592653589793
>>>

希望这会帮助某人下线...

于 2016-01-01T16:41:59.443 回答
-1

这是因为您的 R 包含库不在您的 CPPFLAGS 环境变量中。您应该在“C:\Program Files\R\R-2.15.0\include”中找到文件 Rh。在 linux 中,您可以将其添加到您的 .bashrc

export "$CPPFLAGS=-I/path-to-R/include $CPPFLAGS"

但我对 windows 中的 python 和 R 不熟悉。这就是我所能提供的帮助。

于 2015-03-26T05:46:38.480 回答