Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R包的python-m模块的R等价物_Python_R_R Package_Python Packaging - Fatal编程技术网

R包的python-m模块的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

我有一个R脚本,可以在终端中使用
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请查看以下内容:。