Python引入rpy2包用pyinstaller打包后的exe无法正常使用

  1. 因项目需要,需要使用R语言的一些库进行计算,所以博主采用rpy2这个库作为中间件,进行混编。将R得到的结果返回至python使用。
import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
pandas2ri.activate()
robjects.r['library']('你需要的库')

       2. 核心代码如上图所示,可以在python环境下可以正常使用,得到正确结果。但是将上述代码用pyinstaller  -D xxx.py 打包至exe时提升成果打包。但在cmd运行后,程序中断。回到代码定位在哪进行中断时,发现运行至下图时,导致exe运行到这儿中断。

import rpy2.robjects as robjects

     3. 问题定位:

     整个打包exe过程是没问题的,再运行rpy2之前的代码也是可以出结果的。分析发现也不是R_HOME与R_USER的问题,因为我尝试再改变R_HOME的环境变量时,运行exe时是会出现问题的,提示 rlib = _dlopen_rlib(R_HOME),无法找到R.dll。猜测是rpy2被打包过程中,一些混编需要的库没有被打包进来导致。但因为后续的运行过程中,不会再报错,因此问题很难进行定位。欢迎大家在评论区讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倾城一少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值