Замороженное приложение, вероятно, не ищет установку R в нужном месте на целевом ПК.Попробуйте добавить следующие строки в ваше основное приложение:
import platform
import rpy2.situation
lib_path = rpy2.situation.get_rlib_path(r_home, platform.system())
print(lib_path)
Это покажет местоположение, где приложение ищет R lib.Этот путь (и, вероятно, весь r_home) должен существовать на целевом ПК и содержать совместимую установку R.
Если путь неправильный, вам нужно сообщить замороженному приложению, где находится установка R на целевом устройстве.машина использует что-то вроде
import os
os.environ['R_HOME'] = path_to_r_home_on_target_machine
Но это будет сложно, так как вы вообще не будете знать, где находится установка R.Вы можете попробовать добавить следующие строки в ваше приложение (не уверен, что оно работает):
import sys
import os
import rpy2.situation
if getattr(sys, 'frozen', False):
# The application is frozen
# reset R_HOME and try to find a R installation using the fallback mechanisms
del os.environ['R_HOME']
os.environ['R_HOME'] = rpy2.situation.get_r_home()