com.python.util.PythonInterpreter:无法将python变量设置为String

时间:2014-04-10 18:00:51

标签: java python jython codec

我有一个奇怪的问题。所以我正在编写一个程序,它使用Python作为简单的用户脚本界面。但为了让我的问题变得简单......我试图使用PythonInterpreter.set将Python解释器中的变量设置为String值。但是当我设置它时,我得到了这个例外:

LookupError: no codec search functions registered: can't find encoding

以下是我的代码:

package demo;

import org.python.util.PythonInterpreter;

public class Application {

    public static void main(String[] args) {
        PythonInterpreter pi = new PythonInterpreter();

        String greeting = "Jesus Christ";
        Integer times = 6;

        pi.exec("actor = 'Lucy'");
        pi.set("greeting", greeting);
        pi.set("times", times);
        pi.exec("print '%s %s' % (greeting, actor)");
        pi.exec("print \"%s %s \\n\" % (greeting, actor) * times");
        System.out.println("RESULT: " + pi.eval("actor == 'Lucy'"));
        System.out.println("ACTOR:  " + pi.get("actor"));
    }
}

如果您需要查看我的项目的pom文件,我可以包含它,但实际上我只安装了Jython 2.5.0库。我想知道我是否需要在我的系统上安装其他东西,除了让maven为我安装这个库。我在这台计算机上安装了Python,并在环境变量中设置了PYTHON_HOME。我做错了什么?

编辑:行:

pi.set("times", times);

......工作正常。

但是...

pi.set("greeting", greeting);

没有。我想它有时候是原始数据类型,问候语是String。

0 个答案:

没有答案