gpt4 book ai didi

python - 导入超正方错误

转载 作者:行者123 更新时间:2023-11-30 23:29:37 25 4
gpt4 key购买 nike

我尝试使用 Mac Maverick 在 Python 中导入正方体,但出现以下错误:

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

我按照以下步骤安装了 tesseract: https://code.google.com/p/python-tesseract/wiki/HowToCompilePythonTesseractForMacMountainLion

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

更新:

python 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 版本:

python setup.py install --user 的消息

操作系统= Darwin 当前版本:超正方体~~~CV_PC~~~{'extra_link_args': ['否', '也许', '变量', '在', '包含', '到', '不', '应该', '环境', 'opencv', '添加', '你', "`opencv.pc'", '包', 'PKG_CONFIG_PATH', '搜索', '包', '是', "'opencv'", '目录', '找到', '该', '路径。', 'pkg-config']}['extra_link_args']回溯(最近一次调用最后一次): 文件“setup.py”,第 160 行,位于 libname="open"+item.split("libopen")[1].split(".")[0]

IndexError:列表索引超出范围

更新 3:从步骤 1-3 一切都很好。但在第 4 步,我陷入了困境python setup.py clean

打印此消息:

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

最佳答案

无法成功导入的原因是您从未成功安装过它。

setup.py 的输出显示:它因异常而失败。

那么,为什么您能够导入 tesseract 并进行足够多的操作,导致 tesseract.py 中的代码失败,而不是甚至无法找到它?我的猜测是,您使用位于 tesseract 源代码树中间的当前工作目录启动了 Python,因此即使没有安装任何内容,也可以找到 tesseract.py 的源代码副本。但也有可能您的安装不完整、损坏,特别是因为您在尝试通过 setup.py 安装之前尝试解压错误版本的 OS X 的二进制副本。

无论如何,您想知道的是如何修复它,而不是它为什么不起作用,对吗?

嗯,就在 instructions you linked 的最顶部,它说:

obsolete now !! use homebrew version pls Compile for HomeBrew

事实上,您所遵循的说明并未针对 Mavericks 进行更新,并且链接到专门针对 10.8 制作的二进制包(也可能适用于较旧的 MacPorts 代码),这是一个好兆头,表明他们确实是认真的他们说“过时”,两个感叹号等等。

在按照 Homebrew 说明进行操作之前,除非您对 MacPorts 有其他需要,否则我建议您完全卸载 MacPorts。您通常只需使用 sudo rm -rf/opt/local 即可完成此操作,然后编辑 ~/.bash_profile 以删除对 /opt/local< 的所有引用,但您可能需要先查看 MacPorts 站点上的最新说明。如果您害怕这样做,您可以随时sudo mv/opt/local/opt/local-bak,这会将其保留在那里,但不会妨碍您。

此外,请勿使用现有的源代码 checkout 。它的构建已损坏、不完整,谁知道这将如何影响再次构建它的尝试。只需完全删除该目录,当您进入说明的 svn checkout 步骤时,您将获得一个全新的、干净的副本。

然后,从 How to compile python-tesseract for Homebrew(Mac Mountain Lion/Maverick) 的顶部开始页。

当您执行第 4 步时,不要同时执行这两个步骤,只需执行其中一个即可。我建议使用第一个版本,从源代码构建,因为如果出现任何问题,它可能会更明显,并且更容易恢复。但如果您执行第二个版本,安装二进制文件,请确保这次获得 10.9 版本,而不是 10.8。

关于python - 导入超正方错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com