在編譯jpype python setup.py build 時遇到如下錯誤:
4-2.4/src/native/python/jpype_javaarray.oIn file included from src/native/python/jpype_javaarray.cpp:18:src/native/python/include/jpype_python.h:24:20: error: Python.h: No such file or directorysrc/native/python/include/jpype_python.h:28:20: error: pyport.h: No such file or directoryIn file included from src/native/python/include/jpype_python.h:109, from src/native/python/jpype_javaarray.cpp:18:src/native/python/include/py_monitor.h:20:20: error: object.h: No such file or directorysrc/native/python/include/pythonenv.h:40: error: ISO C++ forbids declaration of 'PyObject' with no typesrc/native/python/include/pythonenv.h:40: error: expected ';' before '*' tokensrc/native/python/include/pythonenv.h:43: error: ISO C++ forbids declaration of 'PyObject' with no typesrc/native/python/include/pythonenv.h:43: error: expected ';' before '*' tokensrc/native/python/include/pythonenv.h:44: error: ISO C++ forbids declaration of 'PyObject' with no typesrc/native/python/include/pythonenv.h:44: error: expected ';' before '*' tokensrc/native/python/include/pythonenv.h:61: error: 'PyObject' has not been declaredsrc/native/python/include/pythonenv.h:62: error: 'PyObject' has not been declaredsrc/native/python/include/pythonenv.h:62: error: 'PyObject' has not been declaredsrc/native/python/include/pythonenv.h: In static member function 'static void JPyErr::check()':src/native/python/include/pythonenv.h:65: error: 'PyObject' was not declared in this scopesrc/native/python/include/pythonenv.h:65: error: '__ex' was not declared in this scopesrc/native/python/include/pythonenv.h:65: error: 'PyErr_Occurred' was not declared in this scopesrc/native/python/include/pythonenv.h: At global scope:
整了半天才找到原因,原來是python 開發包沒有安裝
yum install python-devel-2.4.3-44.el5
搞定。
小註:在編譯jpype時,還需要設定JAVA_HOME環境變數。