R foreach使用rpy2 python永远运行jupyter笔记本

R foreach使用rpy2 python永远运行jupyter笔记本,python,r,foreach,jupyter-notebook,core,Python,R,Foreach,Jupyter Notebook,Core,我有一个pythonjupyter笔记本,其中运行了一些数据获取代码,这些代码为我提供了一个fcs文件列表。我在R中使用fcsparser和foreach并行解析如下: %%R -i files -o data_fcs library(dplyr) library(doParallel) library(foreach) library(flowCore) registerDoParallel(cores=4) trans = arcsinhTransform(transformationId=

我有一个pythonjupyter笔记本,其中运行了一些数据获取代码,这些代码为我提供了一个fcs文件列表。我在R中使用fcsparser和foreach并行解析如下:

%%R -i files -o data_fcs
library(dplyr)
library(doParallel)
library(foreach)
library(flowCore)
registerDoParallel(cores=4)
trans = arcsinhTransform(transformationId='arcsinhTransform',a=0,b=(1/5),c=0)
print("a")
data_fcs <- foreach(file=files) %dopar% {
    library(flowCore)
    print(sprintf("%s", file))
    # load fcs file
    fcs = read.FCS(file)........(more code after this)
%%R-i文件-o数据
图书馆(dplyr)
图书馆(双平行)
图书馆(foreach)
图书馆(flowCore)
寄存器双并行(核心=4)
trans=arcsinhTransform(transformationId='arcsinhTransform',a=0,b=(1/5),c=0)
打印(“a”)

data_fcs我找到了一个“解决方案”,它只是在每次成功运行后重新启动jupyter…现在似乎正在工作

我找到了一个“解决方案”,它只是在每次成功运行后重新启动jupyter…现在似乎正在工作

foreach
创建的每个子进程的输出都被自动忽略,因此,您将看不到其中使用的
print
语句的任何输出。我将避免在诸如Jupyter(可视化、数据分析、原型化平台)之类的IDE中运行复杂的过程,例如R的并行处理,甚至在诸如
rpy2
之类的语言API中通过Jupyter魔术函数调用。这么多层次。考虑命令行运行过程(Python的代码>子进程< /代码> -R的代码> rScript .exe < /COD>),并将数据结果导入Jujyter中进行最终使用数据工作。节省内存!谢谢你的建议!由
foreach
创建的每个子进程的输出都会被自动忽略,因此您不会看到其中使用的
print
语句的任何输出。我会避免在诸如Jupyter(可视化、数据分析、原型化平台)等IDE中运行复杂的进程,如R的并行处理甚至在像
rpy2
这样的语言API中通过Jupyter魔术函数调用。这么多层次。考虑命令行运行过程(Python的代码>子进程< /代码> -R的代码> rScript .exe < /COD>),并将数据结果导入Jujyter中进行最终使用数据工作。节省内存!谢谢你的建议!