我正在使用PyCharm,并尝试使用以下代码导入rpy2
(版本3.3.5):
import numpy as np
import pandas as pd
import rpy2.robjects.packages as packages
print("TEST")
出现以下错误:
R[write to console]: Error: cons memory exhausted (limit reached?)
R[write to console]: Error: no more error handlers available (recursive errors?); invoking 'abort' restart
Process finished with exit code -1073741784 (0xC0000028)
我使用的是Windows 10,有16GB的内存可用。
2条答案
按热度按时间jogvjijk1#
我遇到过同样的问题,经过广泛的研究和大量的试验和错误,我有两个解决方案:
1.如果您可以使用Jupyter笔记本电脑(即使在Pycharm中),则导入rpy2模块时不会发生cons memory exhausted错误。
1.如果你需要在Pycharm中使用Python控制台来运行代码导入rpy2模块,并且想避免这个错误,我有一个解决方法。我注意到这个错误可能是由于在同一个项目中为R设置了一个活动的
renv
环境而发生的。当R在同一个项目中与Python以及renv
依赖管理一起设置时,在根文件夹中有一个.Rprofile文件,用于为新的R会话激活renv
。(例如注解掉),则不会出现内存耗尽错误。导入rpy2模块后,可以再次激活renv
,并且所有rpy2代码将正常执行。此外,rpy2可以被定向到renv
环境来使用来自R项目依赖项的包。1.打开.Rprofile并注解掉所有代码2.使用Python的importlib导入必要的rpy2模块3.将R_LIBS_USER环境变量设置为renv
库路径的路径4.删除.Rprofile文件中的注解。稍后我会将这段代码放在Github上。xesrikrc2#
尝试删除您的目录中由RStudio生成的所有文件。