在Windows7 64位操作系统上为Python 2.7安装rpy2

11

我正在尝试构建和安装rpy2 Python模块。但是遇到了错误(见下文)。

我已经在 C:\Program Files\R\R-2.15.0\ 中安装了R,并且 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 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
5个回答

4

这不包括 rpy2 2.9.0 版本。 - rsc05
我在选择正确的C Python下载时,出现了不同ABI的错误。 - mlt

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. "pip install singledispatch"
  4. "pip install 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'

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
  • http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2下载rpy2-2.7.5-cp27-none-win_amd64.whl,如上所建议。
  • 将工作目录更改为用户的Downloads目录
  • 使用pip install rpy2-2.7.5-cp27-none-win_amd64.whl进行安装
  • 启动Python并成功导入和运行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
>>>

希望这能对未来的某个人有所帮助...

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。


-1

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

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

但我不熟悉在Windows上使用Python和R。 这就是我能提供的所有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接