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

Я никогда раньше не использовал R и пытаюсь вызвать функцию R из python с помощью rpy2.

Это работает на отдельном терминале python, но не в Django.

Но rpy2, похоже, не может преобразовывать строки python в объекты r.

Я использую пользовательскую библиотеку, предоставленную коллегой, и хотел бы знать, не на его ли стороне проблема. Потому что я видел, как другие люди на SO используют точно такой же метод для запуска функций R из python.

Вот код

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?

Для всех, кто пришел сюда с той же проблемой. Я исправил ее, понизив версию rpy2==3.5.1 с rpy2==3.5.5

Вернуться на верх