Я работаю над пакетом с зависимостью от конкретной программы, установленной через R
. Я бы скорее упростил процесс установки и не заставлял пользователей создавать бэкэнд для R
со всеми пакетами. Это может быть совершенно неизбежно, но мне интересно, есть ли какой-нибудь возможный способ предоставить объекты R в сериализованной форме через pickle
или какой-либо модуль сериализации в Python?
Сначала я попробовал pickle
, а затем dill
, но безуспешно.
>>> import pickle
>>> from rpy2.robjects.packages import importr
>>> r_package = importr("dynamicTreeCut")
>>> r_package
rpy2.robjects.packages.Package as a <module 'dynamicTreeCut'>
>>> with open("./dynamicTreeCut.rpy2.pkl", "wb") as f:
... pickle.dump(r_package, f)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: can't pickle InstalledSTPackage objects