Я пытаюсь собрать пакет Python и использовать rpy2 и несколько сценариев R для плавной интеграции R в этот пакет.
Это код, который я ранее прототипировал в блокноте Jupyter.Обычно это выглядит так:
import rpy2
# load in R script containing some useful functions
rpy2.robjects.r("source('feature.R')")
# generate a python binding for 'useful_func' described in the R script
useful_func = rpy2.robjects.globalenv['useful_func']
result = useful_func(data)
Это хорошо работает в Jupyter, если все мои R-скрипты находятся в одном каталоге с ноутбуком, с которым я работаю.
Пакет, который я пытаюсь собрать, выглядит примерно так:
package/
-__init__.py
-package.py
-lib/
-__init__.py
-feature1.py
-feature1.R
Я могу легко импортировать feature1, но когда он пытается получить исходный файл feature1.R, R не может найти файл.Я могу исправить это, указав абсолютный путь к feature1.R, но, очевидно, это не сработает, когда я попытаюсь распространить пакет.Как я могу сгенерировать абсолютный путь к файлу ресурса в пакете таким образом, чтобы он был zip-safe?