简体   繁体   English

无法在MRS远程会话中加载data.table包

[英]Cannot load data.table package in MRS remote session

When I try to load data.table package in a remote session on a MS R Server, I get an error: 当我尝试在MS R服务器上的远程会话中加载data.table包时,出现错误:

REMOTE> library(data.table)
Error: package or namespace load failed for 'data.table'

Using the namespace directly I get more colour: 直接使用命名空间我得到更多颜色:

REMOTE> data.table::data.table(x = 1)
Error: .onLoad failed in loadNamespace() for 'data.table', details:
  call: assign("cbind.data.frame", tt, envir = asNamespace("base"), inherits = FALSE)
  error: cannot change value of locked binding for 'cbind.data.frame'

Any advice on how to resolve this? 关于如何解决这个问题的任何建议?

Here some more information about the way R server is set up and how I install packages: 这里有一些关于R服务器设置方式以及如何安装软件包的更多信息:

  1. R server runs on a separate machine (call it A) from the one where I start the remote session. R服务器在我启动远程会话的机器上运行(称为A)。 The machine A is configured as one-box ie the web-node and compute-node both run on that machine. 机器A被配置为一个盒子,即web节点和计算节点都在该机器上运行。
  2. I am running the R client on my local machine (call it B) via Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3, Microsoft .NET Framework Version 4.6.01038 with R Tools for Visual Studio, 1.0.30228.1316 RC2. 我在本地计算机上运行R客户端(称之为B),通过Microsoft Visual Studio Professional 2015版本14.0.25431.01更新3,Microsoft .NET Framework版本4.6.01038和R Tools for Visual Studio,1.0.30228.1316 RC2。
  3. I installed data.table package directly on the machine A by running 'Rgui' console with this command: install.packages('data.table'). 我通过使用以下命令运行'Rgui'控制台直接在机器A上安装了data.table包:install.packages('data.table')。 The library installs into lib C:\\RglobalPkgs specified by R_LIBS system environment variable on the machine A. 该库安装到由机器A上的R_LIBS系统环境变量指定的lib C:\\ RglobalPkgs中。
  4. I create a remote session on the machine B running these commands: 我在运行这些命令的机器B上创建一个远程会话:

    library(mrsdeploy) remoteLogin("http://machineA:12800", username = "admin", password = "xyz", session = TRUE, commandline = TRUE)

  5. In the remote session I try to load the data.table package as described above at the beginning of my question which fails. 在远程会话中,我尝试在我的问题的开头加载data.table包,但是失败了。 Running .libPath() in the remote session gives: 在远程会话中运行.libPath()给出:

    REMOTE> .libPaths() [1] "C:/RglobalPkgs" [2] "C:/Program Files/Microsoft/R Server/R_SERVER/library"

I emailed the dev team about this. 我通过电子邮件向开发团队发送了相关信 Response below: 回复如下:

We're aware of the issue and will push a fix in the next release. 我们已经意识到了这个问题,并将在下一个版本中推出修复程序。 A workaround is to go to C:\\Program Files\\Microsoft\\R Server\\R_SERVER\\deployr\\RServe\\RScripts\\source.R on the machine with the compute node and comment out 解决方法是在具有计算节点的计算机上转到C:\\ Program Files \\ Microsoft \\ R Server \\ R_SERVER \\ deployr \\ RServe \\ RScripts \\ source.R并注释掉

 # unlockBinding("unlockBinding",b) # assign("unlockBinding", deployr.unlock, envir=b) # lockBinding("unlockBinding", b) 

Then go to services and restart the RServe9.0.0 service. 然后转到服务并重新启动RServe9.0.0服务。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM