进口正方体错误(Import tesseract error)

2019-10-19 04:48发布

我试图导入的Tesseract在Python与Mac特立独行,但我发现了以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tesseract.py", line 26, in <module>
    _tesseract = swig_import_helper()
  File "tesseract.py", line 18, in swig_import_helper
    import _tesseract
ImportError: No module named _tesseract

我按照这些步骤来安装正方体: https://code.google.com/p/python-tesseract/wiki/HowToCompilePythonTesseractForMacMountainLion

我应该怎么做来解决这个问题?

更新:

蟒蛇setup.py构建回溯

os=darwin
Current Version : tesseract
~~~cv_pc~~~
{'extra_link_args': ['not', 'found', 'sh:', 'command', 'pkg-config:']}
['extra_link_args']
Traceback (most recent call last):
  File "setup.py", line 160, in <module>
    libname="open"+item.split("libopen")[1].split(".")[0]
IndexError: list index out of range

更新2 homwbrew版本:

消息蟒蛇的setup.py安装--user

OS =达尔文当前版本:超正方体~~~ cv_pc ~~~ { 'extra_link_args':[ '否', '也许', '可变', '在', '含有', '到', '不',“应' '环境', 'OpenCV的', '添加', '你', “`opencv.pc'”, '包装', 'PKG_CONFIG_PATH', '搜索', '包', '是',“'OpenCV的” '目录', '发现', '中', '路径', 'pkg配置']} 'extra_link_args']回溯(最近通话最后一个):文件 “setup.py”,线路160,在LIBNAME = “打开” + item.split( “libopen”)[1] .split( “”)[0]

IndexError:列表索引超出范围

更新3:从第1-3步所有的伟大工程。 但在第4步,我陷在蟒蛇setup.py干净

它打印此消息:

os=darwin
Current Version : tesseract
~~~cv_pc~~~
{'extra_link_args': ['/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_features2d.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_objdetect.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_video.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_imgproc.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_ocl.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_contrib.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_superres.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_nonfree.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_flann.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_legacy.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_core.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_gpu.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_ts.a', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_videostab.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_highgui.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_ml.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_stitching.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_calib3d.dylib', '/usr/local/Cellar/opencv/2.4.7.1/lib/libopencv_photo.dylib'], 'include_dirs': ['/usr/local/Cellar/opencv/2.4.7.1/include/opencv', '/usr/local/Cellar/opencv/2.4.7.1/include']}
['extra_link_args', 'include_dirs']
add lib: opencv_features2d
add lib: opencv_objdetect
add lib: opencv_video
add lib: opencv_imgproc
add lib: opencv_ocl
add lib: opencv_contrib
add lib: opencv_superres
add lib: opencv_nonfree
add lib: opencv_flann
add lib: opencv_legacy
add lib: opencv_core
add lib: opencv_gpu
add lib: opencv_ts
add lib: opencv_videostab
add lib: opencv_highgui
add lib: opencv_ml
add lib: opencv_stitching
add lib: opencv_calib3d
add lib: opencv_photo
===========['stdc++', 'tesseract', 'lept', 'opencv_features2d', 'opencv_objdetect', 'opencv_video', 'opencv_imgproc', 'opencv_ocl', 'opencv_contrib', 'opencv_superres', 'opencv_nonfree', 'opencv_flann', 'opencv_legacy', 'opencv_core', 'opencv_gpu', 'opencv_ts', 'opencv_videostab', 'opencv_highgui', 'opencv_ml', 'opencv_stitching', 'opencv_calib3d', 'opencv_photo']===========
['.', '/usr/local/include/opencv2', '/usr/local/include/opencv']
Traceback (most recent call last):
  File "setup.py", line 251, in <module>
    swig_opts=["-c++", "-I"+inclpath('tesseract'),
TypeError: cannot concatenate 'str' and 'NoneType' objects

Answer 1:

您不能成功地导入它的原因是,你永远不会成功安装它。

从你的输出setup.py表明这一点:它与异常失败。

那么,为什么是你能够import tesseract ,并得到足够远代码tesseract.py失败,而不是甚至没有能够找到它? 我的猜测是,你在正方体源代码树的中间当前工作目录开始的Python,这样的源代码拷贝tesseract.py发现,即使安装了什么。 但它也当然是可能的,你有一个不完整的,破碎的安装,特别是因为你试图尝试通过安装前解包了错误的OS X版本的二进制副本setup.py

无论如何,你想知道什么是如何解决它,而不是它为什么不工作的,对不对?

好了,就在的最顶端,你链接的指令 ,它说:

现在已经过时了! 使用自制软件版本请编译自制软件

那些没有更新的小牛你按照指示,并链接到一个二进制包专为10.8只取得了(也可能是对老年人的MacPorts代码为好)事实上是一个好兆头,他们真正的意思是,当他们说“过时的”,两个感叹号和一切。

你按照家酿说明之前,除非你有其他需要的MacPorts,我建议完全卸载的MacPorts。 通常你可以只用做sudo rm -rf /opt/local ,然后修改您的~/.bash_profile删除所有引用/opt/local ,但你可能要检查的部位MacPorts的第一最新指令。 如果你害怕这样做,你可以永远只是sudo mv /opt/local /opt/local-bak ,这将保留在那里,但不碍事。

另外,不要使用现有的源代码结账。 它有一个破碎的,不完整的构建它,谁知道如何将影响任何试图重新建立它。 只是完全删除该目录中,当你到了svn checkout的说明的步骤,你会得到一个全新的,干净的副本。

然后,刚开始时的顶部如何编译的python-正方体自制软件(苹果山狮/小牛)页面。

当你到步骤4,不要做这两个步骤,只是做一个或另一个。 我建议的第一个版本,从源头建立,因为它可能会更明显,也更容易恢复过来,如果有什么不顺心。 但是,如果你的第二个版本,安装二进制,一定要得到的10.9版本的时候,而不是10.8。



Answer 2:

我就遇到了这个问题。 唯一的问题是,我不得不跑:

sudo ldconfig

在命令行中运行的Tesseract -v确认这是否是一个问题。



文章来源: Import tesseract error