使用jython的java有错误的python版本

时间:2014-06-27 20:23:13

标签: java python jython

我试图通过jython.jar使用java来运行python函数。我正在使用从web下载的python模块,需要python 2.6或更高版本。我很确定我的python是2.7.2版本。但是,当我尝试运行java程序时,它会继续报告检测到的python 2.5。我该如何解决这个问题?

我的代码是:

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       ...
                //cmd
                String command = "\"xml\\" + name2 + "\"";
                PythonInterpreter python = new PythonInterpreter(null, new PySystemState());
                PySystemState sys = Py.getSystemState();
                sys.path.append(new PyString("C:\\Python27\\Lib\\site-packages"));
                python.execfile("work1.py");
            }
        }
    }
}

错误是:

Exception in thread "main" Traceback (most recent call last):   File "work1.py", line 8, in <module>
    import networkx as nx   File "C:\Python27\Lib\site-packages\networkx\__init__.py", line 39, in <module>
    raise ImportError(m % sys.version_info[:2]) ImportError: Python version 2.6 or later is required for NetworkX (2.5 detected). Java Result: 1

1 个答案:

答案 0 :(得分:2)

你需要使用Jython 2.7b3,2.7 beta增加与CPython 2.7的语言兼容性...... http://comments.gmane.org/gmane.comp.lang.jython.devel/6145

2.7 beta 4将于7月份发布,之后会停止功能。我建议你加入python-dev邮件列表以了解新版本。希望这有帮助