繁体   English   中英

Django 中的 Rpy2 错误 - 转换 'py2rpy' 未为类型 ' 的对象定义<class 'str'></class>

[英]Rpy2 Error in Django - Conversion 'py2rpy' not defined for objects of type '<class 'str'>

我以前从未使用过 R,我正在尝试使用 rpy2 从 python 调用 R function。

它适用于独立的 python 终端,但不适用于 Django。

但是rpy2好像不能把python个字符串转成r个对象。

我正在使用同事提供的自定义库,想知道问题是否出在他这边。 因为我在 SO 上看到其他人使用完全相同的方法从 python 运行 R 函数。

这是代码

from config import celery_app
from rpy2.robjects.packages import importr
from pathlib import Path

import math
base = importr("base")
my_lib = importr("my_lib")

@celery_app.task()
def calculate_r_bindings(file_path):
    """
    
    """

    g = my_lib.fit_bindingCurves(input = file_path,tass = 200,tdiss = 530,conc_M = 1.2*math.exp(-7),generate_output = False)
    return g

我正在使用 rpy2 版本 3.5.5

这是错误:

File "/Users/user.ali/Projects/ProjectDev/project_env/lib/python3.9/site-packages/rpy2/robjects/conversion.py", line 240, in _py2rpy
    raise NotImplementedError(
NotImplementedError: Conversion 'py2rpy' not defined for objects of type '<class 'str'>'

对于任何来这里遇到同样问题的人。 我通过从 rpy2==3.5.5 降级到 rpy2==3.5.1 来修复它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM