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