Java 调用 python 时出现: ImportError: No module named 解决方法

首先背景是这样的:

1、python 环境下调用没有问题,如果有问题那么肯定是 named 后面的包没有安装,或是安装没有成功。至于如何安装网上有很多的教程,比如 pip /easy_install 等方式都可以去安装, 这里就不做累述。

2、对于 python 环境下没有问题时,用 java 去调用的时候出现了上述 no module named , 而此时分两种情况去看

A、如果你要部署的是 windows 的话,对于 java web 工程来说,python 的文件依赖都会去 java 的 WEB-INF 下面的 lib 下的 Lib 去找相对应的 py 文件

B、如果是 linux 的话,没特殊指定的情况下,他也会去当前工程的 WEB-INF 下面的 lib 下的 Lib 去找。

所有解决的方式就是给对应的 python 指定 lib 的目录

Properties props = new Properties();

props.put("python.home", "/usr/lib/python2.6");

再执行 PythonInterpreter 方法之前加上上面的方法,PythonInterpreter.initialize (preprops, props, s);

其中 preprops 是 Properties preprops = System.getProperties ();

s 为传递参数的字符数组 例如: String [] s = {host,port,username,password};

3、最终 java 调用 python 时会先去找 python.home 下面的 Lib 文件,这样就可以解决上面的问题。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值