opencv安装中的python错误

opencv安装中的python错误,python,opencv,build,cmake,Python,Opencv,Build,Cmake,我试图在Linux中安装opencv库,在python脚本生成的日志中出现以下错误: Traceback (most recent call last): File "/tmcleod/opencv-2.4.4/modules/java/generator/gen_javadoc.py", line 257, in ? import hdr_parser File "/tmcleod/opencv-2.4.4/modules/java/generator/../../python

我试图在Linux中安装opencv库,在python脚本生成的日志中出现以下错误:

Traceback (most recent call last):
  File "/tmcleod/opencv-2.4.4/modules/java/generator/gen_javadoc.py", line 257, in ?
    import hdr_parser
  File "/tmcleod/opencv-2.4.4/modules/java/generator/../../python/src2/hdr_parser.py", line 641
    decl[1] = ": " + ", ".join([b if "::" in b else self.get_dotted_name(b).replace(".","::") for b in bases])
                                   ^
SyntaxError: invalid syntax
以下是makefile中导致错误的命令:

cd /tmcleod/opencv-2.4.4/release/modules/java && /usr/bin/python2 /tmcleod/opencv-2.4.4/modules/java/generator/gen_javadoc.py --modules core,imgproc,objdetect,features2d,video,highgui,ml,calib3d,photo,contrib /tmcleod/opencv-2.4.4/modules/java/generator/src/java /tmcleod/opencv-2.4.4/release/modules/java 2>"/tmcleod/opencv-2.4.4/release/modules/java/get_javadoc_errors.log"

我不知道为什么我需要在安装C++库时生成java文档,但是这个问题导致构建失败。感谢您的帮助。

这里的问题是,cmake发现python可执行文件的较旧版本(2.4)不理解此结构。解决方法是向cmake传递一条到python的路径。从…起 opencv提取目录:

$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./build -D PYTHON_EXECUTABLE=/tmcleod/Python-2.7.3/python ..
$ make
$ make install

这里的问题是,cmake发现python可执行文件的较旧版本(2.4)不理解此结构。解决方法是向cmake传递一条到python的路径。从…起 opencv提取目录:

$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./build -D PYTHON_EXECUTABLE=/tmcleod/Python-2.7.3/python ..
$ make
$ make install

我也有同样的问题。我只需要python库,因此作为一种解决方法,我将编译的共享对象文件(cv2.so)复制到我的工作目录中。@Moshe,那么这是python脚本中的一个错误吗?可能吧,尽管这种语法似乎对python 2.7是合法的,所以我不知道是什么错了(我使用了
[b if'abc'中的b'else'X'表示'abcdefgh'中的b]
作为一个小测试用例)。我也遇到了同样的问题。我只需要python库,因此作为一种解决方法,我将编译的共享对象文件(cv2.so)复制到我的工作目录中。@Moshe,那么这是python脚本中的一个错误吗?可能吧,尽管这种语法似乎对python 2.7是合法的,所以我不知道是什么错了(我使用了
[b if'abc'中的b'else'X'表示'abcdefgh'中的b]
作为一个小测试用例)。