为了解决毕设中需要用到在Java中调用Python的问题,我在网上寻找对应的解决方案。似乎没有太好的解决方案:Jython至今仍是Python2,Py4J似乎也不再活跃更新。所幸我找到了Jep这一神器。正当我雀跃不已,却又发现了一些问题,在两个小时的艰难攻关之下,这些问题逐渐迎刃而解。
问题一:无法找到dll依赖
Exception in thread "main" java.lang.UnsatisfiedLinkError: Q:\Sill-\anaconda\envs\jepper\Lib\site-packages\jep\jep.dll: Can't find dependent libraries
原因是我没有激活对应的虚拟环境,当我激活对应环境后,不再出现以上报错。
问题二:无法找到PYTHONHOME和PYTHONPATH环境变量
Python path configuration:
PYTHONHOME = (not set)
PYTHONPATH = (not set)
....
Current thread 0x00004a90 (most recent call first):
<no Python frame>
解决办法很简单,在运行Jar的终端内手动添加环境变量
$env:PYTHONPATH="Q:\Sill-\anaconda\envs\jepper"
$env:PYTHONHOME="Q:\Sill-\anaconda\envs\jepper"
再次运行Jar包,问题解决。
标签:jepper,Jep,Java,Python,PYTHONPATH,envs,虚拟环境 From: https://www.cnblogs.com/seal-sill/p/18106014