gpt4 book ai didi

java - 无法使 R 扩展在 NetLogo 中工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:07 25 4
gpt4 key购买 nike

我意识到这并不是一个真正的编程问题,但我希望这里一位非常有经验的 NetLogo 人员能够看到我做错了什么,尤其是你们中的许多人都在使用 Java 而我却没有。

我正在尝试连接 R 扩展,以便我可以使用 R 库来执行一些棘手的网络操作。我使用的是 Windows 7。详细的安装说明描述了三个必须设置的系统变量。我已经这样做并从命令提示符回显它们,R_HOME 和 JRI_HOME 连接到看起来合适的目录,我的 PATH 包括 R bin。

variables check

安装说明的第 4 步从命令行打开 R 终端并且工作正常。同样,从该终端加载 rJava 库(即第 6 步,输入 library(rJava))会返回相应的消息。对 Java 版本的检查(第 9 步)返回适当的 64 位响应,与文档中的完全相同,除了我的 vm 版本是最新的。

一起测试(第 12 步)打开 NetLogo,然后我输入 extensions [r] 但勾号立即将其关闭。根据文档,这是 R_HOME 和 PATH 的错误,但我看不到。在命令行中,出现错误 Cannot find JRI native library!请确保 JRI native 库位于 java.library.path 中列出的目录中,后跟许多 java 错误。

是否有我忘记设置的环境变量?我是否需要实际向 java.library.path 添加一些内容,即使文档中没有描述?

更新

在进一步调查中,有一个名为 rsystemcheck 的扩展与 r 扩展一起提供。安装那个 [请注意有此问题的其他人,只需将文件夹移动到扩展文件夹],我的计算机似乎安装了(至少)两个版本的 Java。这并不奇怪,因为 Java 更新过程并没有真正清理,并且许多程序安装了额外版本的运行时。

“检查 java”工具报告我安装了 v1.8.0_51 和 v1.6.0_45,如果一个是 32 位,另一个是 64 位,那么 R 扩展将无法工作。

在我的文件系统中闲逛 - v1.8.0_51 绝对是 32 位的。我还安装了 v1.7.0 64 位(一个新的!)。我无法直接找到 v1.6.0_45,但我认为这是 NetLogo 安装的 jre 文件夹中的版本。

此外,尝试在没有 VM 的情况下安装 NetLogo 并指向我的 JRE 不起作用,因为 NetLogo 要求 JRE 为 32 位。此外,卸载 java 并替换为 32 位版本不起作用,因为我使用 64 位 R。

最佳答案

好的,解决了(如果有点不尽人意)。我把它留在这里是因为我想其他使用 Windows 的人希望 R 和 NetLogo 相互交谈。

问题是 NetLogo 需要 32 位 Java。我不知道 R 扩展的开发人员如何获得 64 位 R 的屏幕截图,但您真正需要做的是使用 32 位 R。

(1) uninstall 64bit java and instead install 32bit java

(2) add the 32bit R installation

(3) leave the environment variable %R_HOME% as in instructions

(4) add %R_HOME%\bin\i386 to Path

重要的一点是步骤(4),它使R扩展找到R的32位安装。R安装目录有两个bin子目录,一个用于64位(x64),一个用于32位(i386)。路径需要找到 32 位版本。

步骤 (1) 可能是可选的 - 我只是不了解如何处理 32 位和 64 位版本的 java 所必需的 java。

关于java - 无法使 R 扩展在 NetLogo 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com