使用Jep在Java中调用Conda虚拟环境下的Python遇到的问题两则

为了解决毕设中需要用到在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包,问题解决。

posted @ 2024-03-30 20:49  SealSill  阅读(299)  评论(0)    收藏  举报