import org.python.core.Py;
import org.python.core.PySystemState;
import org.python.util.PythonInterpreter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Properties;
public class JythonUtils {
private static final Logger logger = LoggerFactory.getLogger(JythonUtils.class);
public static boolean IS_LINUX = System.getProperties().getProperty("os.name").toLowerCase().startsWith("lin");
/**
* @throws
* @Title: jythonInit
* @Description: 初始化jython
* @return: PythonInterpreter
*/
public static PythonInterpreter jythonInit() {
String path = IS_LINUX ? "c:\python\lib" : "\usr\python\lib";
//初始化site 配置
Properties props = new Properties();
props.put("python.console.encoding", "UTF-8");
props.put("python.security.respectJavaAccessibility", "false");
props.put("python.import.site", "false");
PySystemState sys = Py.getSystemState();
logger.info("previous path=" + sys.path.toString()); // previous
Properties preProps = System.getProperties();
PythonInterpreter.initialize(preProps, props, new String[0]);
//创建PythonInterpreter 对象
PythonInterpreter interpreter = new PythonInterpreter();
String beautifulSoupPath = path + "/beautifulsoup4-4.9.0-py2.7.egg";
//防止重复加入
if (!sys.path.contains(beautifulSoupPath)) {
sys.path.add(beautifulSoupPath);
}
logger.info("later path=" + sys.path.toString());
return interpreter;
}
}
jython path设置
最新推荐文章于 2024-04-29 16:57:47 发布