说明
最近在做一个项目,需要使用java调用运行环境的python来执行一段python的代码,最终选择使用java中的runtime.exec的方式来实现这个功能,但是在使用的时候报了一个bug,简单的说就是python程序里导入了sklearn.linear_model线性拟合模块,但是在使用java调用的时候却会报错,但是使用mac电脑的终端的时候却不会出现这个错误。作为一个mac半桶水,Python也是半桶水的程序猿,我心想估计这几天就得耗在这里了,没想到错误发现却是很简单的。
环境测试
首先这个问题很明确,就是运行环境存在问题,那问题在哪?我第一个考虑的是我在程序里修改了python的运行目录
os.chdir("***")
但是不论是java调用还是终端都应该执行这一句,因此整体的执行目录应当没有变化,所以我需要一个能全面显示python运行环境的手段
接下来参考用python脚本获取运行环境中的module 列表
将其稍微修改一下: