是否有任何简单的方法可以将我的R
脚本编译为独立的.exe
文件,就像matlab所做的一样?将R脚本编译为独立的.exe文件?
回答
那么你将需要安装在部署机器上的R.至于制作一个可执行文件,我不确定这是可能的。但是你可以创建另一个调用你的R脚本的程序。 R是一种解释型语言。这不可能。
我们是否有任何有关任何R编译器的消息?我开始使用python,并且有简单的方法来生成exe文件(例如py2exe和cx_freeze)。 R有没有机会在R中看到类似的东西? – Tony
在回答您的评论:
其实我想distribe,但保持脚本和 算法的秘密,有没有一种方法来加密或任何其他方式 达到这一目的?
你可以(有点)通过使用save()
保存功能来做到这一点。例如,这里的f()
要保密功能:
f <- function(x, y) {
return(x + y)
}
保存它的地方:
save(f, file = 'C:\\Users\\Joyce\\Documents\\R\\Secret.rda')
而当你想使用的功能:
load("C:\\Users\\Joyce\\Documents\\R\\Secret.rda")
我会救我所有的功能都放在单独的文件中,放在一个文件夹中,并有一个简单的旧.R脚本加载它们并执行任何操作。将所有东西拉起来分发给任何人。甚至可能将它编译成一个包。有效地,整个事情将是只读的。
虽然这个解决方案并不是那么好。你仍然可以通过输入函数的名字来看到R中的函数,所以它在这个意义上并不隐藏。但是,如果你打开.rda文件,它们的内容都是乱码。这一切都取决于您的代码的收件人对R的经验。
谢谢您的建议,可以是防止他人直接看到密码的一种方法,再次感谢。 – Joyce
如何将整个工作区保存为图像? –
加密代码的一种形式在TeachingDemos包中的petals
函数中实现。
请注意,它只需要中等水平的编程技巧来查找隐藏的代码,但它确实需要刻意的努力,并且用户将无法声称无意中看到了代码。然后,您需要一些类型的许可协议来执行任何不允许窥视协议。
谢谢格雷格,我只是看看你提到的功能,但不知道如何使用它来隐藏代码,你会详细说明更多吗?非常感谢。 – Joyce
@Joyce,'petals'函数并不隐藏代码,它是隐藏一段关键代码的一个例子(你能读关键代码吗?)。其他工具需要进行加密(漂白)。有关更简单的方法,请参阅:https://stat.ethz.ch/pipermail/r-devel/2011-October/062236.html。字节编译也可能有帮助,但您确实需要某种类型的许可协议。 –
事实上,有一种方法可以实现满足您的要求的解决方案。看看关于在R-Bloggers上部署Desktop Apps with R的文章。正如文章中详细描述的那样,您将最终使用比单个exe文件更多的东西。
另外我想提醒您注意RGtk2使用RGtk2您可以尝试在R中开发自己的接口。如果推动推动,我相信您可以将R代码与便携式版本的R和依赖关系放入一个安装程序,并从中创建和创建应用程序,这将创建单个exe文件的错觉。
在你的问题中,你问是否容易开发解释R代码的独立可执行文件。我不会说这很容易。如果您强烈希望从应用程序运行R代码,则可以使用RCaller(适用于Java)或R.NET(更简单)执行此操作。
关于用R压缩桌面应用程序的链接文章非常好(使用便携式应用程序和闪亮!),Thx! –
@RYoda我很高兴看到这一点。对这个问题有兴趣。如果你想坚持使用Shiny,[本文](http://blog.analytixware.com/2014/03/packaging-your-shiny-app-as-windows.html)提供了关于将Shiny App打包为一个Windows桌面应用程序。 – Konrad
也可以在整个javax.script API中使用RCaller脚本引擎,请参阅http://mhsatman.com/rcaller-3-0 – jbytecode
- 1. 将lua脚本编译为独立的可执行文件
- 2. 用Cygwin编译独立exe文件
- 3. 如何将独立的Ruby脚本编译为独立的AOT编译的macruby可执行文件?
- 4. 将Perl脚本编译为.exe错误
- 5. 编译独立的exe问题
- 6. 将.c文件从Cython转换为独立的.exe和编译gcc错误
- 7. 是否可以将Matlab代码编译为独立的exe文件?
- 8. 将多个cljs文件编译为独立的js文件
- 9. 使用脚本#编译代码(独立)
- 10. 哪种语言可以编译独立的exe文件
- 11. 编译perl脚本的.EXE
- 12. 将.cpp文件编译为Program(exe)里面的.exe文件?
- 13. 将C++(.cpp)编译为.exe文件
- 14. 将HTML5游戏文件编译为exe
- 15. 将C#编译为2个exe文件
- 16. 将PHP编译为独立可执行文件(更快?)
- 17. 将VBA脚本转换为.exe文件
- 18. Xcode C++独立文件不编译
- 19. 如何将node.js项目创建为windows的独立exe文件。
- 20. 将Outlook VBA转换为独立脚本
- 21. 制作独立的EXE文件
- 22. 创建一个独立的.exe文件
- 23. Qt中的独立exe文件
- 24. VS2017将NetCoreApp编译为EXE
- 25. 将Crystal Reports编译为exe
- 26. 将Python编译为exe
- 27. 将PyPy编译为Exe
- 28. 将HTML5编译为.exe/.dmg
- 29. Google Closure编译器 - 将多个文件编译为单独的缩小版本
- 30. Pyinstaller - 独立.EXE
非常简短的回答:不会。 –
其实我想分发它,但保留脚本和算法的秘密,有没有一种方法来加密或以任何其他方式来实现此目的? – Joyce
很多讨论http://stackoverflow.com/questions/4707276/encrypting-r-script-under-ms-windows –