• 在eclipse中用java调用python报错 Exception in thread "main" ImportError: Cannot import site module and its dependencies


    最近做项目需要用java调用python,配置了jython后,运行了例子代码:

    获得一个元组里面的元素:

    import org.python.util.PythonInterpreter;
    public class FirstJavaScript {
        public static void main(String args[]) {
    
            PythonInterpreter interpreter = new PythonInterpreter();
            interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
            interpreter.exec("print days[1];");
    
        }// main
    }

    运行时报错:

    Exception in thread "main" ImportError: Cannot import site module and its dependencies: No module named site
    Determine if the following attributes are correct:
    * sys.path: ['C:\(你的项目地址)', '__classpath__', '__pyclasspath__/']
    This attribute might be including the wrong directories, such as from CPython
    * sys.prefix: C:(你的项目地址)
    This attribute is set by the system property python.home, although it can
    be often automatically determined by the location of the Jython jar file

    You can use the -S option or python.import.site=false to not import the site module

     我们只需要把代码改为以下这个例子就可以顺利执行了。

    Properties props = new Properties();
         props.put("python.home", "path to the Lib folder");
         props.put("python.console.encoding", "UTF-8");
         props.put("python.security.respectJavaAccessibility", "false");
         props.put("python.import.site", "false");
         Properties preprops = System.getProperties();
         PythonInterpreter.initialize(preprops, props, new String[0]);
    
    
         PythonInterpreter interpreter = new PythonInterpreter();
         interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'); ");
         interpreter.exec("print days[1];");

     执行结果是Tue

  • 相关阅读:
    Server Develop (三) 多进程实现C/S
    Server Develop (二) 多线程实现C/S
    Server Develop (一) 简单的TCP/IP C/S
    Server Develop (四) select实现非阻塞sever
    js添加、修改、删除xml节点例子
    网站弹出“位于Google Code SubversionRepository 的服务器……”的解决办法
    iframe嵌入网页
    asp空间判断jmail组件是否安装或支持的代码
    IE8的margintop兼容问题
    不错的CMS,值得借鉴!
  • 原文地址:https://www.cnblogs.com/wang-jx/p/10896307.html
Copyright © 2020-2023  润新知