R包的python-m模块的R等价物
我有一个R脚本,可以在终端中使用R包的python-m模块的R等价物,python,r,r-package,python-packaging,Python,R,R Package,Python Packaging,我有一个R脚本,可以在终端中使用Rscript app/myapp.R执行。R脚本存储在一个R包项目中,因此我可以从文档、检查和单元测试工具中获益 为了方便用户,我想知道是否有一种方法可以模仿python在模块中的\uuuu main\uuuuuuuuuuy.py行为 编辑6/1/2020:我实际上需要其他不习惯R的用户来使用该脚本。因此,一旦安装了包,查找脚本的完整路径对他们来说并不是一个真正的选项 在python项目中,当我具有以下包结构时: mypackage ├── mymodule
Rscript app/myapp.R
执行。R脚本存储在一个R包项目中,因此我可以从文档、检查和单元测试工具中获益
为了方便用户,我想知道是否有一种方法可以模仿python在模块中的\uuuu main\uuuuuuuuuuy.py
行为
编辑6/1/2020:我实际上需要其他不习惯R的用户来使用该脚本。因此,一旦安装了包,查找脚本的完整路径对他们来说并不是一个真正的选项
在python项目中,当我具有以下包结构时:
mypackage
├── mymodule
│ ├── __初始值
│ └── __主管道
└── setup.py
如果包确实安装在我的python库中,我可以从终端中的任何文件夹执行python-mymodule
。该命令将执行mypackage/mymodule/\uuuu main\uuuuu.py
对于R包,我希望有相同的行为。假设R包mypackage
已经安装在我的R用户库中。我希望能够从终端中的任何位置运行mypackage/app/myapp.R
(实际上,我希望其他人能够安装软件包并运行应用程序,而无需克隆repo)
我知道我能做到
Rscript应用程序/myapp.R
但只有当我将cd放入路径/to/mypackage时,这才有效。我希望能够从终端中的任何位置执行以下操作,前提是软件包安装在R用户的库中
Rscript-m myapp
demo()
似乎是为交互式会话而设计的,我需要一个非交互式会话。事实证明,使用R
命令而不是Rscript
有一个非常简单的解决方案。只需将脚本包装在包中的函数中,然后使用:
R-e“mypackage::myfunc()”
完全有可能同时具备R和python知识的人会出现。但是这个问题在这里已经有7个小时没有答案了,所以您应该仔细地描述一下“在模块中模仿python的main.py行为”的确切含义,以及为什么添加到myapp.r
的完整路径不令人满意。谢谢,我编辑了这个问题,在首字母下面添加了一个详细的问题one@Romain请查看以下内容:。